diff --git a/app/assets/javascripts/admins/identity_authentications/index.js b/app/assets/javascripts/admins/identity_authentications/index.js index 2da644ec2..91ce5c7ec 100644 --- a/app/assets/javascripts/admins/identity_authentications/index.js +++ b/app/assets/javascripts/admins/identity_authentications/index.js @@ -1,6 +1,7 @@ $(document).on('turbolinks:load', function() { if ($('body.admins-identity-authentications-index-page').length > 0) { var $searchFrom = $('.identity-authentication-list-form'); + $searchFrom.find('select[name="status"]').val('pending'); $searchFrom.on('click', '.search-form-tab', function(){ var $link = $(this); @@ -12,6 +13,7 @@ $(document).on('turbolinks:load', function() { $searchFrom.find('.status-filter').show(); } else { $searchFrom.find('.status-filter').hide(); + $searchFrom.find('select[name="status"]').val('pending'); } }); } diff --git a/app/assets/javascripts/admins/professional_authentications/index.js b/app/assets/javascripts/admins/professional_authentications/index.js index 769a6b2fc..82a1da5af 100644 --- a/app/assets/javascripts/admins/professional_authentications/index.js +++ b/app/assets/javascripts/admins/professional_authentications/index.js @@ -1,6 +1,7 @@ $(document).on('turbolinks:load', function() { if ($('body.admins-professional-authentications-index-page').length > 0) { var $searchFrom = $('.professional-authentication-list-form'); + $searchFrom.find('select[name="status"]').val('pending'); $searchFrom.on('click', '.search-form-tab', function(){ var $link = $(this); @@ -12,6 +13,7 @@ $(document).on('turbolinks:load', function() { $searchFrom.find('.status-filter').show(); } else { $searchFrom.find('.status-filter').hide(); + $searchFrom.find('select[name="status"]').val('pending'); } }); } diff --git a/app/assets/javascripts/admins/shixun_authorizations/index.js b/app/assets/javascripts/admins/shixun_authorizations/index.js index ba7b23821..b98354c65 100644 --- a/app/assets/javascripts/admins/shixun_authorizations/index.js +++ b/app/assets/javascripts/admins/shixun_authorizations/index.js @@ -1,6 +1,7 @@ $(document).on('turbolinks:load', function() { if ($('body.admins-shixun-authorizations-index-page').length > 0) { var $searchFrom = $('.shixun-authorization-list-form'); + $searchFrom.find('select[name="status"]').val('pending'); $searchFrom.on('click', '.search-form-tab', function(){ var $link = $(this); @@ -12,6 +13,7 @@ $(document).on('turbolinks:load', function() { $searchFrom.find('.status-filter').show(); } else { $searchFrom.find('.status-filter').hide(); + $searchFrom.find('select[name="status"]').val('pending'); } }); } diff --git a/app/assets/javascripts/admins/subject_authorizations/index.js b/app/assets/javascripts/admins/subject_authorizations/index.js index d80f0850c..bfba16fc1 100644 --- a/app/assets/javascripts/admins/subject_authorizations/index.js +++ b/app/assets/javascripts/admins/subject_authorizations/index.js @@ -1,6 +1,7 @@ $(document).on('turbolinks:load', function() { if ($('body.admins-subject-authorizations-index-page').length > 0) { var $searchFrom = $('.subject-authorization-list-form'); + $searchFrom.find('select[name="status"]').val('pending'); $searchFrom.on('click', '.search-form-tab', function(){ var $link = $(this); @@ -12,6 +13,7 @@ $(document).on('turbolinks:load', function() { $searchFrom.find('.status-filter').show(); } else { $searchFrom.find('.status-filter').hide(); + $searchFrom.find('select[name="status"]').val('pending'); } }); } diff --git a/config/environments/development.rb b/config/environments/development.rb index 0b31f5828..cdcd45ec5 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -50,11 +50,14 @@ Rails.application.configure do # Debug mode disables concatenation and preprocessing of assets. # This option may cause significant delays in view rendering with a large # number of complex assets. - config.assets.debug = true + config.assets.debug = false # Suppress logger output for asset requests. config.assets.quiet = true + config.assets.compile = true + # config.assets.prefix = '/dev-assets' + # Raises error for missing translations # config.action_view.raise_on_missing_translations = true diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 5298b4ab6..922969938 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -11,4 +11,4 @@ Rails.application.config.assets.paths << Rails.root.join('node_modules') # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. -Rails.application.config.assets.precompile += %w( admin.js admin.scss ) +Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff --git a/public/assets/.sprockets-manifest-1c370772f16743f825981ab0e5c94237.json b/public/assets/.sprockets-manifest-1c370772f16743f825981ab0e5c94237.json new file mode 100644 index 000000000..5f5a55fd7 --- /dev/null +++ b/public/assets/.sprockets-manifest-1c370772f16743f825981ab0e5c94237.json @@ -0,0 +1 @@ +{"files":{"admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js":{"logical_path":"admin.js","mtime":"2019-08-26T15:21:11+08:00","size":907839,"digest":"6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d","integrity":"sha256-ZXXxOZlT+xk1wDenuL0oxK/we3C+2bQfr2iZqJr0tX0="},"admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css":{"logical_path":"admin.css","mtime":"2019-08-26T15:21:47+08:00","size":655571,"digest":"8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5","integrity":"sha256-iisDy4oFXcY/RUQ7MEyudzgjMb66VbFXCz08iqQkQtU="},"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot":{"logical_path":"font-awesome/fontawesome-webfont.eot","mtime":"2019-08-14T17:22:43+08:00","size":165742,"digest":"7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979","integrity":"sha256-e/yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk="},"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2":{"logical_path":"font-awesome/fontawesome-webfont.woff2","mtime":"2019-08-14T17:22:43+08:00","size":77160,"digest":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","integrity":"sha256-Kt78vAQefRj88tQXh53FoJmXqmTWdbejxLbOM9oT8/4="},"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff":{"logical_path":"font-awesome/fontawesome-webfont.woff","mtime":"2019-08-14T17:22:43+08:00","size":98024,"digest":"ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07","integrity":"sha256-ugxZ3rVFD1y0Gz+TYJ7i0NmVQVh33foiPoqKdTNHTwc="},"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf":{"logical_path":"font-awesome/fontawesome-webfont.ttf","mtime":"2019-08-14T17:22:43+08:00","size":165548,"digest":"aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8","integrity":"sha256-qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg="},"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg":{"logical_path":"font-awesome/fontawesome-webfont.svg","mtime":"2019-08-14T17:22:43+08:00","size":444379,"digest":"ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4","integrity":"sha256-rWFXkmwWIrpOHQPUePFUE2hSS/xG9R5C/g2UX37zI+Q="},"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png":{"logical_path":"logo.png","mtime":"2019-08-21T15:10:12+08:00","size":2816,"digest":"7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423","integrity":"sha256-f/ESVocJv5f5iY/ockm3qPIA/x9I1TfYWvhyFfGHBCM="},"application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js":{"logical_path":"application.js","mtime":"2019-08-26T15:21:11+08:00","size":1042232,"digest":"a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533","integrity":"sha256-o6TzVJ1oZwVyuwdwDIWprBHlNu3HP+9udIlyO/U15TM="},"application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css":{"logical_path":"application.css","mtime":"2019-08-26T15:21:47+08:00","size":1182859,"digest":"a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46","integrity":"sha256-p1CLiOtqaaWzAWAr3cFHRc7AmFPqfZHG+uhWuW54j0Y="}},"assets":{"admin.js":"admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js","admin.css":"admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css","font-awesome/fontawesome-webfont.eot":"font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot","font-awesome/fontawesome-webfont.woff2":"font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2","font-awesome/fontawesome-webfont.woff":"font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff","font-awesome/fontawesome-webfont.ttf":"font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf","font-awesome/fontawesome-webfont.svg":"font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg","logo.png":"logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png","application.js":"application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js","application.css":"application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css"}} \ No newline at end of file diff --git a/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js b/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js new file mode 100644 index 000000000..2ff813ff4 --- /dev/null +++ b/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js @@ -0,0 +1,28296 @@ +/* +Unobtrusive JavaScript +https://github.com/rails/rails/blob/master/actionview/app/assets/javascripts +Released under the MIT license + */ + + +(function() { + var context = this; + + (function() { + (function() { + this.Rails = { + linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]', + buttonClickSelector: { + selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])', + exclude: 'form button' + }, + inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]', + formSubmitSelector: 'form', + formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])', + formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled', + formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled', + fileInputSelector: 'input[name][type=file]:not([disabled])', + linkDisableSelector: 'a[data-disable-with], a[data-disable]', + buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]' + }; + + }).call(this); + }).call(context); + + var Rails = context.Rails; + + (function() { + (function() { + var cspNonce; + + cspNonce = Rails.cspNonce = function() { + var meta; + meta = document.querySelector('meta[name=csp-nonce]'); + return meta && meta.content; + }; + + }).call(this); + (function() { + var expando, m; + + m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector; + + Rails.matches = function(element, selector) { + if (selector.exclude != null) { + return m.call(element, selector.selector) && !m.call(element, selector.exclude); + } else { + return m.call(element, selector); + } + }; + + expando = '_ujsData'; + + Rails.getData = function(element, key) { + var ref; + return (ref = element[expando]) != null ? ref[key] : void 0; + }; + + Rails.setData = function(element, key, value) { + if (element[expando] == null) { + element[expando] = {}; + } + return element[expando][key] = value; + }; + + Rails.$ = function(selector) { + return Array.prototype.slice.call(document.querySelectorAll(selector)); + }; + + }).call(this); + (function() { + var $, csrfParam, csrfToken; + + $ = Rails.$; + + csrfToken = Rails.csrfToken = function() { + var meta; + meta = document.querySelector('meta[name=csrf-token]'); + return meta && meta.content; + }; + + csrfParam = Rails.csrfParam = function() { + var meta; + meta = document.querySelector('meta[name=csrf-param]'); + return meta && meta.content; + }; + + Rails.CSRFProtection = function(xhr) { + var token; + token = csrfToken(); + if (token != null) { + return xhr.setRequestHeader('X-CSRF-Token', token); + } + }; + + Rails.refreshCSRFTokens = function() { + var param, token; + token = csrfToken(); + param = csrfParam(); + if ((token != null) && (param != null)) { + return $('form input[name="' + param + '"]').forEach(function(input) { + return input.value = token; + }); + } + }; + + }).call(this); + (function() { + var CustomEvent, fire, matches, preventDefault; + + matches = Rails.matches; + + CustomEvent = window.CustomEvent; + + if (typeof CustomEvent !== 'function') { + CustomEvent = function(event, params) { + var evt; + evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + }; + CustomEvent.prototype = window.Event.prototype; + preventDefault = CustomEvent.prototype.preventDefault; + CustomEvent.prototype.preventDefault = function() { + var result; + result = preventDefault.call(this); + if (this.cancelable && !this.defaultPrevented) { + Object.defineProperty(this, 'defaultPrevented', { + get: function() { + return true; + } + }); + } + return result; + }; + } + + fire = Rails.fire = function(obj, name, data) { + var event; + event = new CustomEvent(name, { + bubbles: true, + cancelable: true, + detail: data + }); + obj.dispatchEvent(event); + return !event.defaultPrevented; + }; + + Rails.stopEverything = function(e) { + fire(e.target, 'ujs:everythingStopped'); + e.preventDefault(); + e.stopPropagation(); + return e.stopImmediatePropagation(); + }; + + Rails.delegate = function(element, selector, eventType, handler) { + return element.addEventListener(eventType, function(e) { + var target; + target = e.target; + while (!(!(target instanceof Element) || matches(target, selector))) { + target = target.parentNode; + } + if (target instanceof Element && handler.call(target, e) === false) { + e.preventDefault(); + return e.stopPropagation(); + } + }); + }; + + }).call(this); + (function() { + var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse; + + cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire; + + AcceptHeaders = { + '*': '*/*', + text: 'text/plain', + html: 'text/html', + xml: 'application/xml, text/xml', + json: 'application/json, text/javascript', + script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript' + }; + + Rails.ajax = function(options) { + var xhr; + options = prepareOptions(options); + xhr = createXHR(options, function() { + var ref, response; + response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type')); + if (Math.floor(xhr.status / 100) === 2) { + if (typeof options.success === "function") { + options.success(response, xhr.statusText, xhr); + } + } else { + if (typeof options.error === "function") { + options.error(response, xhr.statusText, xhr); + } + } + return typeof options.complete === "function" ? options.complete(xhr, xhr.statusText) : void 0; + }); + if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) { + return false; + } + if (xhr.readyState === XMLHttpRequest.OPENED) { + return xhr.send(options.data); + } + }; + + prepareOptions = function(options) { + options.url = options.url || location.href; + options.type = options.type.toUpperCase(); + if (options.type === 'GET' && options.data) { + if (options.url.indexOf('?') < 0) { + options.url += '?' + options.data; + } else { + options.url += '&' + options.data; + } + } + if (AcceptHeaders[options.dataType] == null) { + options.dataType = '*'; + } + options.accept = AcceptHeaders[options.dataType]; + if (options.dataType !== '*') { + options.accept += ', */*; q=0.01'; + } + return options; + }; + + createXHR = function(options, done) { + var xhr; + xhr = new XMLHttpRequest(); + xhr.open(options.type, options.url, true); + xhr.setRequestHeader('Accept', options.accept); + if (typeof options.data === 'string') { + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + } + if (!options.crossDomain) { + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + CSRFProtection(xhr); + xhr.withCredentials = !!options.withCredentials; + xhr.onreadystatechange = function() { + if (xhr.readyState === XMLHttpRequest.DONE) { + return done(xhr); + } + }; + return xhr; + }; + + processResponse = function(response, type) { + var parser, script; + if (typeof response === 'string' && typeof type === 'string') { + if (type.match(/\bjson\b/)) { + try { + response = JSON.parse(response); + } catch (error) {} + } else if (type.match(/\b(?:java|ecma)script\b/)) { + script = document.createElement('script'); + script.setAttribute('nonce', cspNonce()); + script.text = response; + document.head.appendChild(script).parentNode.removeChild(script); + } else if (type.match(/\b(xml|html|svg)\b/)) { + parser = new DOMParser(); + type = type.replace(/;.+/, ''); + try { + response = parser.parseFromString(response, type); + } catch (error) {} + } + } + return response; + }; + + Rails.href = function(element) { + return element.href; + }; + + Rails.isCrossDomain = function(url) { + var e, originAnchor, urlAnchor; + originAnchor = document.createElement('a'); + originAnchor.href = location.href; + urlAnchor = document.createElement('a'); + try { + urlAnchor.href = url; + return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host)); + } catch (error) { + e = error; + return true; + } + }; + + }).call(this); + (function() { + var matches, toArray; + + matches = Rails.matches; + + toArray = function(e) { + return Array.prototype.slice.call(e); + }; + + Rails.serializeElement = function(element, additionalParam) { + var inputs, params; + inputs = [element]; + if (matches(element, 'form')) { + inputs = toArray(element.elements); + } + params = []; + inputs.forEach(function(input) { + if (!input.name || input.disabled) { + return; + } + if (matches(input, 'select')) { + return toArray(input.options).forEach(function(option) { + if (option.selected) { + return params.push({ + name: input.name, + value: option.value + }); + } + }); + } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) { + return params.push({ + name: input.name, + value: input.value + }); + } + }); + if (additionalParam) { + params.push(additionalParam); + } + return params.map(function(param) { + if (param.name != null) { + return (encodeURIComponent(param.name)) + "=" + (encodeURIComponent(param.value)); + } else { + return param; + } + }).join('&'); + }; + + Rails.formElements = function(form, selector) { + if (matches(form, 'form')) { + return toArray(form.elements).filter(function(el) { + return matches(el, selector); + }); + } else { + return toArray(form.querySelectorAll(selector)); + } + }; + + }).call(this); + (function() { + var allowAction, fire, stopEverything; + + fire = Rails.fire, stopEverything = Rails.stopEverything; + + Rails.handleConfirm = function(e) { + if (!allowAction(this)) { + return stopEverything(e); + } + }; + + allowAction = function(element) { + var answer, callback, message; + message = element.getAttribute('data-confirm'); + if (!message) { + return true; + } + answer = false; + if (fire(element, 'confirm')) { + try { + answer = confirm(message); + } catch (error) {} + callback = fire(element, 'confirm:complete', [answer]); + } + return answer && callback; + }; + + }).call(this); + (function() { + var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, matches, setData, stopEverything; + + matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements; + + Rails.handleDisabledElement = function(e) { + var element; + element = this; + if (element.disabled) { + return stopEverything(e); + } + }; + + Rails.enableElement = function(e) { + var element; + element = e instanceof Event ? e.target : e; + if (matches(element, Rails.linkDisableSelector)) { + return enableLinkElement(element); + } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) { + return enableFormElement(element); + } else if (matches(element, Rails.formSubmitSelector)) { + return enableFormElements(element); + } + }; + + Rails.disableElement = function(e) { + var element; + element = e instanceof Event ? e.target : e; + if (matches(element, Rails.linkDisableSelector)) { + return disableLinkElement(element); + } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) { + return disableFormElement(element); + } else if (matches(element, Rails.formSubmitSelector)) { + return disableFormElements(element); + } + }; + + disableLinkElement = function(element) { + var replacement; + replacement = element.getAttribute('data-disable-with'); + if (replacement != null) { + setData(element, 'ujs:enable-with', element.innerHTML); + element.innerHTML = replacement; + } + element.addEventListener('click', stopEverything); + return setData(element, 'ujs:disabled', true); + }; + + enableLinkElement = function(element) { + var originalText; + originalText = getData(element, 'ujs:enable-with'); + if (originalText != null) { + element.innerHTML = originalText; + setData(element, 'ujs:enable-with', null); + } + element.removeEventListener('click', stopEverything); + return setData(element, 'ujs:disabled', null); + }; + + disableFormElements = function(form) { + return formElements(form, Rails.formDisableSelector).forEach(disableFormElement); + }; + + disableFormElement = function(element) { + var replacement; + replacement = element.getAttribute('data-disable-with'); + if (replacement != null) { + if (matches(element, 'button')) { + setData(element, 'ujs:enable-with', element.innerHTML); + element.innerHTML = replacement; + } else { + setData(element, 'ujs:enable-with', element.value); + element.value = replacement; + } + } + element.disabled = true; + return setData(element, 'ujs:disabled', true); + }; + + enableFormElements = function(form) { + return formElements(form, Rails.formEnableSelector).forEach(enableFormElement); + }; + + enableFormElement = function(element) { + var originalText; + originalText = getData(element, 'ujs:enable-with'); + if (originalText != null) { + if (matches(element, 'button')) { + element.innerHTML = originalText; + } else { + element.value = originalText; + } + setData(element, 'ujs:enable-with', null); + } + element.disabled = false; + return setData(element, 'ujs:disabled', null); + }; + + }).call(this); + (function() { + var stopEverything; + + stopEverything = Rails.stopEverything; + + Rails.handleMethod = function(e) { + var csrfParam, csrfToken, form, formContent, href, link, method; + link = this; + method = link.getAttribute('data-method'); + if (!method) { + return; + } + href = Rails.href(link); + csrfToken = Rails.csrfToken(); + csrfParam = Rails.csrfParam(); + form = document.createElement('form'); + formContent = "<input name='_method' value='" + method + "' type='hidden' />"; + if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) { + formContent += "<input name='" + csrfParam + "' value='" + csrfToken + "' type='hidden' />"; + } + formContent += '<input type="submit" />'; + form.method = 'post'; + form.action = href; + form.target = link.target; + form.innerHTML = formContent; + form.style.display = 'none'; + document.body.appendChild(form); + form.querySelector('[type="submit"]').click(); + return stopEverything(e); + }; + + }).call(this); + (function() { + var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything, + slice = [].slice; + + matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement; + + isRemote = function(element) { + var value; + value = element.getAttribute('data-remote'); + return (value != null) && value !== 'false'; + }; + + Rails.handleRemote = function(e) { + var button, data, dataType, element, method, url, withCredentials; + element = this; + if (!isRemote(element)) { + return true; + } + if (!fire(element, 'ajax:before')) { + fire(element, 'ajax:stopped'); + return false; + } + withCredentials = element.getAttribute('data-with-credentials'); + dataType = element.getAttribute('data-type') || 'script'; + if (matches(element, Rails.formSubmitSelector)) { + button = getData(element, 'ujs:submit-button'); + method = getData(element, 'ujs:submit-button-formmethod') || element.method; + url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href; + if (method.toUpperCase() === 'GET') { + url = url.replace(/\?.*$/, ''); + } + if (element.enctype === 'multipart/form-data') { + data = new FormData(element); + if (button != null) { + data.append(button.name, button.value); + } + } else { + data = serializeElement(element, button); + } + setData(element, 'ujs:submit-button', null); + setData(element, 'ujs:submit-button-formmethod', null); + setData(element, 'ujs:submit-button-formaction', null); + } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) { + method = element.getAttribute('data-method'); + url = element.getAttribute('data-url'); + data = serializeElement(element, element.getAttribute('data-params')); + } else { + method = element.getAttribute('data-method'); + url = Rails.href(element); + data = element.getAttribute('data-params'); + } + ajax({ + type: method || 'GET', + url: url, + data: data, + dataType: dataType, + beforeSend: function(xhr, options) { + if (fire(element, 'ajax:beforeSend', [xhr, options])) { + return fire(element, 'ajax:send', [xhr]); + } else { + fire(element, 'ajax:stopped'); + return false; + } + }, + success: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:success', args); + }, + error: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:error', args); + }, + complete: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:complete', args); + }, + crossDomain: isCrossDomain(url), + withCredentials: (withCredentials != null) && withCredentials !== 'false' + }); + return stopEverything(e); + }; + + Rails.formSubmitButtonClick = function(e) { + var button, form; + button = this; + form = button.form; + if (!form) { + return; + } + if (button.name) { + setData(form, 'ujs:submit-button', { + name: button.name, + value: button.value + }); + } + setData(form, 'ujs:formnovalidate-button', button.formNoValidate); + setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction')); + return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod')); + }; + + Rails.handleMetaClick = function(e) { + var data, link, metaClick, method; + link = this; + method = (link.getAttribute('data-method') || 'GET').toUpperCase(); + data = link.getAttribute('data-params'); + metaClick = e.metaKey || e.ctrlKey; + if (metaClick && method === 'GET' && !data) { + return e.stopImmediatePropagation(); + } + }; + + }).call(this); + (function() { + var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMetaClick, handleMethod, handleRemote, refreshCSRFTokens; + + fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMetaClick = Rails.handleMetaClick, handleMethod = Rails.handleMethod; + + if ((typeof jQuery !== "undefined" && jQuery !== null) && (jQuery.ajax != null) && !jQuery.rails) { + jQuery.rails = Rails; + jQuery.ajaxPrefilter(function(options, originalOptions, xhr) { + if (!options.crossDomain) { + return CSRFProtection(xhr); + } + }); + } + + Rails.start = function() { + if (window._rails_loaded) { + throw new Error('rails-ujs has already been loaded!'); + } + window.addEventListener('pageshow', function() { + $(Rails.formEnableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + return $(Rails.linkDisableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + }); + delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.linkClickSelector, 'click', handleConfirm); + delegate(document, Rails.linkClickSelector, 'click', handleMetaClick); + delegate(document, Rails.linkClickSelector, 'click', disableElement); + delegate(document, Rails.linkClickSelector, 'click', handleRemote); + delegate(document, Rails.linkClickSelector, 'click', handleMethod); + delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.buttonClickSelector, 'click', handleConfirm); + delegate(document, Rails.buttonClickSelector, 'click', disableElement); + delegate(document, Rails.buttonClickSelector, 'click', handleRemote); + delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement); + delegate(document, Rails.inputChangeSelector, 'change', handleConfirm); + delegate(document, Rails.inputChangeSelector, 'change', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement); + delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm); + delegate(document, Rails.formSubmitSelector, 'submit', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', function(e) { + return setTimeout((function() { + return disableElement(e); + }), 13); + }); + delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement); + delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement); + delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.formInputClickSelector, 'click', handleConfirm); + delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick); + document.addEventListener('DOMContentLoaded', refreshCSRFTokens); + return window._rails_loaded = true; + }; + + if (window.Rails === Rails && fire(document, 'rails:attachBindings')) { + Rails.start(); + } + + }).call(this); + }).call(this); + + if (typeof module === "object" && module.exports) { + module.exports = Rails; + } else if (typeof define === "function" && define.amd) { + define(Rails); + } +}).call(this); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ActiveStorage=e():t.ActiveStorage=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=2)}([function(t,e,r){"use strict";function n(t){var e=a(document.head,'meta[name="'+t+'"]');if(e)return e.getAttribute("content")}function i(t,e){return"string"==typeof t&&(e=t,t=document),o(t.querySelectorAll(e))}function a(t,e){return"string"==typeof t&&(e=t,t=document),t.querySelector(e)}function u(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.disabled,i=r.bubbles,a=r.cancelable,u=r.detail,o=document.createEvent("Event");o.initEvent(e,i||!0,a||!0),o.detail=u||{};try{t.disabled=!1,t.dispatchEvent(o)}finally{t.disabled=n}return o}function o(t){return Array.isArray(t)?t:Array.from?Array.from(t):[].slice.call(t)}e.d=n,e.c=i,e.b=a,e.a=u,e.e=o},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(t&&"function"==typeof t[e]){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return t[e].apply(t,n)}}r.d(e,"a",function(){return c});var a=r(6),u=r(8),o=r(9),s=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),f=0,c=function(){function t(e,r,i){n(this,t),this.id=++f,this.file=e,this.url=r,this.delegate=i}return s(t,[{key:"create",value:function(t){var e=this;a.a.create(this.file,function(r,n){if(r)return void t(r);var a=new u.a(e.file,n,e.url);i(e.delegate,"directUploadWillCreateBlobWithXHR",a.xhr),a.create(function(r){if(r)t(r);else{var n=new o.a(a);i(e.delegate,"directUploadWillStoreFileWithXHR",n.xhr),n.create(function(e){e?t(e):t(null,a.toJSON())})}})})}}]),t}()},function(t,e,r){"use strict";function n(){window.ActiveStorage&&Object(i.a)()}Object.defineProperty(e,"__esModule",{value:!0});var i=r(3),a=r(1);r.d(e,"start",function(){return i.a}),r.d(e,"DirectUpload",function(){return a.a}),setTimeout(n,1)},function(t,e,r){"use strict";function n(){d||(d=!0,document.addEventListener("submit",i),document.addEventListener("ajax:before",a))}function i(t){u(t)}function a(t){"FORM"==t.target.tagName&&u(t)}function u(t){var e=t.target;if(e.hasAttribute(l))return void t.preventDefault();var r=new c.a(e),n=r.inputs;n.length&&(t.preventDefault(),e.setAttribute(l,""),n.forEach(s),r.start(function(t){e.removeAttribute(l),t?n.forEach(f):o(e)}))}function o(t){var e=Object(h.b)(t,"input[type=submit]");if(e){var r=e,n=r.disabled;e.disabled=!1,e.focus(),e.click(),e.disabled=n}else e=document.createElement("input"),e.type="submit",e.style.display="none",t.appendChild(e),e.click(),t.removeChild(e)}function s(t){t.disabled=!0}function f(t){t.disabled=!1}e.a=n;var c=r(4),h=r(0),l="data-direct-uploads-processing",d=!1},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return s});var i=r(5),a=r(0),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o="input[type=file][data-direct-upload-url]:not([disabled])",s=function(){function t(e){n(this,t),this.form=e,this.inputs=Object(a.c)(e,o).filter(function(t){return t.files.length})}return u(t,[{key:"start",value:function(t){var e=this,r=this.createDirectUploadControllers();this.dispatch("start"),function n(){var i=r.shift();i?i.start(function(r){r?(t(r),e.dispatch("end")):n()}):(t(),e.dispatch("end"))}()}},{key:"createDirectUploadControllers",value:function(){var t=[];return this.inputs.forEach(function(e){Object(a.e)(e.files).forEach(function(r){var n=new i.a(e,r);t.push(n)})}),t}},{key:"dispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(a.a)(this.form,"direct-uploads:"+t,{detail:e})}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return o});var i=r(1),a=r(0),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=function(){function t(e,r){n(this,t),this.input=e,this.file=r,this.directUpload=new i.a(this.file,this.url,this),this.dispatch("initialize")}return u(t,[{key:"start",value:function(t){var e=this,r=document.createElement("input");r.type="hidden",r.name=this.input.name,this.input.insertAdjacentElement("beforebegin",r),this.dispatch("start"),this.directUpload.create(function(n,i){n?(r.parentNode.removeChild(r),e.dispatchError(n)):r.value=i.signed_id,e.dispatch("end"),t(n)})}},{key:"uploadRequestDidProgress",value:function(t){var e=t.loaded/t.total*100;e&&this.dispatch("progress",{progress:e})}},{key:"dispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.file=this.file,e.id=this.directUpload.id,Object(a.a)(this.input,"direct-upload:"+t,{detail:e})}},{key:"dispatchError",value:function(t){this.dispatch("error",{error:t}).defaultPrevented||alert(t)}},{key:"directUploadWillCreateBlobWithXHR",value:function(t){this.dispatch("before-blob-request",{xhr:t})}},{key:"directUploadWillStoreFileWithXHR",value:function(t){var e=this;this.dispatch("before-storage-request",{xhr:t}),t.upload.addEventListener("progress",function(t){return e.uploadRequestDidProgress(t)})}},{key:"url",get:function(){return this.input.getAttribute("data-direct-upload-url")}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return s});var i=r(7),a=r.n(i),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=File.prototype.slice||File.prototype.mozSlice||File.prototype.webkitSlice,s=function(){function t(e){n(this,t),this.file=e,this.chunkSize=2097152,this.chunkCount=Math.ceil(this.file.size/this.chunkSize),this.chunkIndex=0}return u(t,null,[{key:"create",value:function(e,r){new t(e).create(r)}}]),u(t,[{key:"create",value:function(t){var e=this;this.callback=t,this.md5Buffer=new a.a.ArrayBuffer,this.fileReader=new FileReader,this.fileReader.addEventListener("load",function(t){return e.fileReaderDidLoad(t)}),this.fileReader.addEventListener("error",function(t){return e.fileReaderDidError(t)}),this.readNextChunk()}},{key:"fileReaderDidLoad",value:function(t){if(this.md5Buffer.append(t.target.result),!this.readNextChunk()){var e=this.md5Buffer.end(!0),r=btoa(e);this.callback(null,r)}}},{key:"fileReaderDidError",value:function(t){this.callback("Error reading "+this.file.name)}},{key:"readNextChunk",value:function(){if(this.chunkIndex<this.chunkCount||0==this.chunkIndex&&0==this.chunkCount){var t=this.chunkIndex*this.chunkSize,e=Math.min(t+this.chunkSize,this.file.size),r=o.call(this.file,t,e);return this.fileReader.readAsArrayBuffer(r),this.chunkIndex++,!0}return!1}}]),t}()},function(t,e,r){!function(e){t.exports=e()}(function(t){"use strict";function e(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r+=(n&i|~n&a)+e[0]-680876936|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[1]-389564586|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[2]+606105819|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[3]-1044525330|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[4]-176418897|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[5]+1200080426|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[6]-1473231341|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[7]-45705983|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[8]+1770035416|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[9]-1958414417|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[10]-42063|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[11]-1990404162|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[12]+1804603682|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[13]-40341101|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[14]-1502002290|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[15]+1236535329|0,n=(n<<22|n>>>10)+i|0,r+=(n&a|i&~a)+e[1]-165796510|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[6]-1069501632|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[11]+643717713|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[0]-373897302|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[5]-701558691|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[10]+38016083|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[15]-660478335|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[4]-405537848|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[9]+568446438|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[14]-1019803690|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[3]-187363961|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[8]+1163531501|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[13]-1444681467|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[2]-51403784|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[7]+1735328473|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[12]-1926607734|0,n=(n<<20|n>>>12)+i|0,r+=(n^i^a)+e[5]-378558|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[8]-2022574463|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[11]+1839030562|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[14]-35309556|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[1]-1530992060|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[4]+1272893353|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[7]-155497632|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[10]-1094730640|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[13]+681279174|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[0]-358537222|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[3]-722521979|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[6]+76029189|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[9]-640364487|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[12]-421815835|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[15]+530742520|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[2]-995338651|0,n=(n<<23|n>>>9)+i|0,r+=(i^(n|~a))+e[0]-198630844|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[7]+1126891415|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[14]-1416354905|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[5]-57434055|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[12]+1700485571|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[3]-1894986606|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[10]-1051523|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[1]-2054922799|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[8]+1873313359|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[15]-30611744|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[6]-1560198380|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[13]+1309151649|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[4]-145523070|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[11]-1120210379|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[2]+718787259|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[9]-343485551|0,n=(n<<21|n>>>11)+i|0,t[0]=r+t[0]|0,t[1]=n+t[1]|0,t[2]=i+t[2]|0,t[3]=a+t[3]|0}function r(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}function n(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t[e]+(t[e+1]<<8)+(t[e+2]<<16)+(t[e+3]<<24);return r}function i(t){var n,i,a,u,o,s,f=t.length,c=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=f;n+=64)e(c,r(t.substring(n-64,n)));for(t=t.substring(n-64),i=t.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=0;n<i;n+=1)a[n>>2]|=t.charCodeAt(n)<<(n%4<<3);if(a[n>>2]|=128<<(n%4<<3),n>55)for(e(c,a),n=0;n<16;n+=1)a[n]=0;return u=8*f,u=u.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(u[2],16),s=parseInt(u[1],16)||0,a[14]=o,a[15]=s,e(c,a),c}function a(t){var r,i,a,u,o,s,f=t.length,c=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=f;r+=64)e(c,n(t.subarray(r-64,r)));for(t=r-64<f?t.subarray(r-64):new Uint8Array(0),i=t.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<i;r+=1)a[r>>2]|=t[r]<<(r%4<<3);if(a[r>>2]|=128<<(r%4<<3),r>55)for(e(c,a),r=0;r<16;r+=1)a[r]=0;return u=8*f,u=u.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(u[2],16),s=parseInt(u[1],16)||0,a[14]=o,a[15]=s,e(c,a),c}function u(t){var e,r="";for(e=0;e<4;e+=1)r+=p[t>>8*e+4&15]+p[t>>8*e&15];return r}function o(t){var e;for(e=0;e<t.length;e+=1)t[e]=u(t[e]);return t.join("")}function s(t){return/[\u0080-\uFFFF]/.test(t)&&(t=unescape(encodeURIComponent(t))),t}function f(t,e){var r,n=t.length,i=new ArrayBuffer(n),a=new Uint8Array(i);for(r=0;r<n;r+=1)a[r]=t.charCodeAt(r);return e?a:i}function c(t){return String.fromCharCode.apply(null,new Uint8Array(t))}function h(t,e,r){var n=new Uint8Array(t.byteLength+e.byteLength);return n.set(new Uint8Array(t)),n.set(new Uint8Array(e),t.byteLength),r?n:n.buffer}function l(t){var e,r=[],n=t.length;for(e=0;e<n-1;e+=2)r.push(parseInt(t.substr(e,2),16));return String.fromCharCode.apply(String,r)}function d(){this.reset()}var p=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return"5d41402abc4b2a76b9719d911017c592"!==o(i("hello"))&&function(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r},"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function e(t,e){return t=0|t||0,t<0?Math.max(t+e,0):Math.min(t,e)}ArrayBuffer.prototype.slice=function(r,n){var i,a,u,o,s=this.byteLength,f=e(r,s),c=s;return n!==t&&(c=e(n,s)),f>c?new ArrayBuffer(0):(i=c-f,a=new ArrayBuffer(i),u=new Uint8Array(a),o=new Uint8Array(this,f,i),u.set(o),a)}}(),d.prototype.append=function(t){return this.appendBinary(s(t)),this},d.prototype.appendBinary=function(t){this._buff+=t,this._length+=t.length;var n,i=this._buff.length;for(n=64;n<=i;n+=64)e(this._hash,r(this._buff.substring(n-64,n)));return this._buff=this._buff.substring(n-64),this},d.prototype.end=function(t){var e,r,n=this._buff,i=n.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<i;e+=1)a[e>>2]|=n.charCodeAt(e)<<(e%4<<3);return this._finish(a,i),r=o(this._hash),t&&(r=l(r)),this.reset(),r},d.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},d.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}},d.prototype.setState=function(t){return this._buff=t.buff,this._length=t.length,this._hash=t.hash,this},d.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},d.prototype._finish=function(t,r){var n,i,a,u=r;if(t[u>>2]|=128<<(u%4<<3),u>55)for(e(this._hash,t),u=0;u<16;u+=1)t[u]=0;n=8*this._length,n=n.toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),a=parseInt(n[1],16)||0,t[14]=i,t[15]=a,e(this._hash,t)},d.hash=function(t,e){return d.hashBinary(s(t),e)},d.hashBinary=function(t,e){var r=i(t),n=o(r);return e?l(n):n},d.ArrayBuffer=function(){this.reset()},d.ArrayBuffer.prototype.append=function(t){var r,i=h(this._buff.buffer,t,!0),a=i.length;for(this._length+=t.byteLength,r=64;r<=a;r+=64)e(this._hash,n(i.subarray(r-64,r)));return this._buff=r-64<a?new Uint8Array(i.buffer.slice(r-64)):new Uint8Array(0),this},d.ArrayBuffer.prototype.end=function(t){var e,r,n=this._buff,i=n.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<i;e+=1)a[e>>2]|=n[e]<<(e%4<<3);return this._finish(a,i),r=o(this._hash),t&&(r=l(r)),this.reset(),r},d.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},d.ArrayBuffer.prototype.getState=function(){var t=d.prototype.getState.call(this);return t.buff=c(t.buff),t},d.ArrayBuffer.prototype.setState=function(t){return t.buff=f(t.buff,!0),d.prototype.setState.call(this,t)},d.ArrayBuffer.prototype.destroy=d.prototype.destroy,d.ArrayBuffer.prototype._finish=d.prototype._finish,d.ArrayBuffer.hash=function(t,e){var r=a(new Uint8Array(t)),n=o(r);return e?l(n):n},d})},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return u});var i=r(0),a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),u=function(){function t(e,r,a){var u=this;n(this,t),this.file=e,this.attributes={filename:e.name,content_type:e.type,byte_size:e.size,checksum:r},this.xhr=new XMLHttpRequest,this.xhr.open("POST",a,!0),this.xhr.responseType="json",this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.setRequestHeader("Accept","application/json"),this.xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.xhr.setRequestHeader("X-CSRF-Token",Object(i.d)("csrf-token")),this.xhr.addEventListener("load",function(t){return u.requestDidLoad(t)}),this.xhr.addEventListener("error",function(t){return u.requestDidError(t)})}return a(t,[{key:"create",value:function(t){this.callback=t,this.xhr.send(JSON.stringify({blob:this.attributes}))}},{key:"requestDidLoad",value:function(t){if(this.status>=200&&this.status<300){var e=this.response,r=e.direct_upload;delete e.direct_upload,this.attributes=e,this.directUploadData=r,this.callback(null,this.toJSON())}else this.requestDidError(t)}},{key:"requestDidError",value:function(t){this.callback('Error creating Blob for "'+this.file.name+'". Status: '+this.status)}},{key:"toJSON",value:function(){var t={};for(var e in this.attributes)t[e]=this.attributes[e];return t}},{key:"status",get:function(){return this.xhr.status}},{key:"response",get:function(){var t=this.xhr,e=t.responseType,r=t.response;return"json"==e?r:JSON.parse(r)}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return a});var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),a=function(){function t(e){var r=this;n(this,t),this.blob=e,this.file=e.file;var i=e.directUploadData,a=i.url,u=i.headers;this.xhr=new XMLHttpRequest,this.xhr.open("PUT",a,!0),this.xhr.responseType="text";for(var o in u)this.xhr.setRequestHeader(o,u[o]);this.xhr.addEventListener("load",function(t){return r.requestDidLoad(t)}),this.xhr.addEventListener("error",function(t){return r.requestDidError(t)})}return i(t,[{key:"create",value:function(t){this.callback=t,this.xhr.send(this.file.slice())}},{key:"requestDidLoad",value:function(t){var e=this.xhr,r=e.status,n=e.response;r>=200&&r<300?this.callback(null,n):this.requestDidError(t)}},{key:"requestDidError",value:function(t){this.callback('Error storing "'+this.file.name+'". Status: '+this.xhr.status)}}]),t}()}])}); +/* +Turbolinks 5.2.0 +Copyright © 2018 Basecamp, LLC + */ + +(function(){var t=this;(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState&&null!=window.requestAnimationFrame&&null!=window.addEventListener}(),visit:function(t,r){return e.controller.visit(t,r)},clearCache:function(){return e.controller.clearCache()},setProgressBarDelay:function(t){return e.controller.setProgressBarDelay(t)}}}).call(this)}).call(t);var e=t.Turbolinks;(function(){(function(){var t,r,n,o=[].slice;e.copyObject=function(t){var e,r,n;r={};for(e in t)n=t[e],r[e]=n;return r},e.closest=function(e,r){return t.call(e,r)},t=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE&&r.call(e,t))return e;e=e.parentNode}}}(),e.defer=function(t){return setTimeout(t,1)},e.throttle=function(t){var e;return e=null,function(){var r;return r=1<=arguments.length?o.call(arguments,0):[],null!=e?e:e=requestAnimationFrame(function(n){return function(){return e=null,t.apply(n,r)}}(this))}},e.dispatch=function(t,e){var r,o,i,s,a,u;return a=null!=e?e:{},u=a.target,r=a.cancelable,o=a.data,i=document.createEvent("Events"),i.initEvent(t,!0,r===!0),i.data=null!=o?o:{},i.cancelable&&!n&&(s=i.preventDefault,i.preventDefault=function(){return this.defaultPrevented||Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}}),s.call(this)}),(null!=u?u:document).dispatchEvent(i),i},n=function(){var t;return t=document.createEvent("Events"),t.initEvent("test",!0,!0),t.preventDefault(),t.defaultPrevented}(),e.match=function(t,e){return r.call(t,e)},r=function(){var t,e,r,n;return t=document.documentElement,null!=(e=null!=(r=null!=(n=t.matchesSelector)?n:t.webkitMatchesSelector)?r:t.msMatchesSelector)?e:t.mozMatchesSelector}(),e.uuid=function(){var t,e,r;for(r="",t=e=1;36>=e;t=++e)r+=9===t||14===t||19===t||24===t?"-":15===t?"4":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return r}}).call(this),function(){e.Location=function(){function t(t){var e,r;null==t&&(t=""),r=document.createElement("a"),r.href=t.toString(),this.absoluteURL=r.href,e=r.hash.length,2>e?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=r.hash.slice(1))}var e,r,n,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split("/",3).join("/")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.requestURL.match(/\/\/[^\/]*(\/[^?;]*)/))?e[1]:void 0)?t:"/"},t.prototype.getPathComponents=function(){return this.getPath().split("/").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\.[^.]*$/))?e[0]:void 0)?t:""},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=r(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},r=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return n(t,"/")?t:t+"/"},o=function(t,e){return t.slice(0,e.length)===e},n=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.HttpRequest=function(){function r(r,n,o){this.delegate=r,this.requestCanceled=t(this.requestCanceled,this),this.requestTimedOut=t(this.requestTimedOut,this),this.requestFailed=t(this.requestFailed,this),this.requestLoaded=t(this.requestLoaded,this),this.requestProgressed=t(this.requestProgressed,this),this.url=e.Location.wrap(n).requestURL,this.referrer=e.Location.wrap(o).absoluteURL,this.createXHR()}return r.NETWORK_FAILURE=0,r.TIMEOUT_FAILURE=-1,r.timeout=60,r.prototype.send=function(){var t;return this.xhr&&!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,"function"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},r.prototype.cancel=function(){return this.xhr&&this.sent?this.xhr.abort():void 0},r.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},r.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200<=(e=t.xhr.status)&&300>e?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader("Turbolinks-Location")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},r.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},r.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},r.prototype.requestCanceled=function(){return this.endRequest()},r.prototype.notifyApplicationBeforeRequestStart=function(){return e.dispatch("turbolinks:request-start",{data:{url:this.url,xhr:this.xhr}})},r.prototype.notifyApplicationAfterRequestEnd=function(){return e.dispatch("turbolinks:request-end",{data:{url:this.url,xhr:this.xhr}})},r.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open("GET",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader("Accept","text/html, application/xhtml+xml"),this.xhr.setRequestHeader("Turbolinks-Referrer",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},r.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t&&t.call(this),this.destroy()):void 0},r.prototype.setProgress=function(t){var e;return this.progress=t,"function"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},r.prototype.destroy=function(){var t;return this.setProgress(1),"function"==typeof(t=this.delegate).requestFinished&&t.requestFinished(),this.delegate=null,this.xhr=null},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ProgressBar=function(){function e(){this.trickle=t(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var r;return r=300,e.defaultCSS=".turbolinks-progress-bar {\n position: fixed;\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n background: #0076ff;\n z-index: 9999;\n transition: width "+r+"ms ease-out, opacity "+r/2+"ms "+r/2+"ms ease-in;\n transform: translate3d(0, 0, 0);\n}",e.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},e.prototype.hide=function(){return this.visible&&!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},e.prototype.setValue=function(t){return this.value=t,this.refresh()},e.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},e.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},e.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*r)},e.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},e.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,r)},e.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},e.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},e.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+"%"}}(this))},e.prototype.createStylesheetElement=function(){var t;return t=document.createElement("style"),t.type="text/css",t.textContent=this.constructor.defaultCSS,t},e.prototype.createProgressElement=function(){var t;return t=document.createElement("div"),t.className="turbolinks-progress-bar",t},e}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.BrowserAdapter=function(){function r(r){this.controller=r,this.showProgressBar=t(this.showProgressBar,this),this.progressBar=new e.ProgressBar}var n,o,i;return i=e.HttpRequest,n=i.NETWORK_FAILURE,o=i.TIMEOUT_FAILURE,r.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},r.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},r.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||"restore"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},r.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},r.prototype.visitRequestCompleted=function(t){return t.loadResponse()},r.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case n:case o:return this.reload();default:return t.loadResponse()}},r.prototype.visitRequestFinished=function(t){return this.hideProgressBar()},r.prototype.visitCompleted=function(t){return t.followRedirect()},r.prototype.pageInvalidated=function(){return this.reload()},r.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,this.controller.progressBarDelay)},r.prototype.showProgressBar=function(){return this.progressBar.show()},r.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},r.prototype.reload=function(){return window.location.reload()},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.History=function(){function r(e){this.delegate=e,this.onPageLoad=t(this.onPageLoad,this),this.onPopState=t(this.onPopState,this)}return r.prototype.start=function(){return this.started?void 0:(addEventListener("popstate",this.onPopState,!1),addEventListener("load",this.onPageLoad,!1),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener("popstate",this.onPopState,!1),removeEventListener("load",this.onPageLoad,!1),this.started=!1):void 0},r.prototype.push=function(t,r){return t=e.Location.wrap(t),this.update("push",t,r)},r.prototype.replace=function(t,r){return t=e.Location.wrap(t),this.update("replace",t,r)},r.prototype.onPopState=function(t){var r,n,o,i;return this.shouldHandlePopState()&&(i=null!=(n=t.state)?n.turbolinks:void 0)?(r=e.Location.wrap(window.location),o=i.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(r,o)):void 0},r.prototype.onPageLoad=function(t){return e.defer(function(t){return function(){return t.pageLoaded=!0}}(this))},r.prototype.shouldHandlePopState=function(){return this.pageIsLoaded()},r.prototype.pageIsLoaded=function(){return this.pageLoaded||"complete"===document.readyState},r.prototype.update=function(t,e,r){var n;return n={turbolinks:{restorationIdentifier:r}},history[t+"State"](n,null,e)},r}()}.call(this),function(){e.HeadDetails=function(){function t(t){var e,r,n,s,a,u;for(this.elements={},n=0,a=t.length;a>n;n++)u=t[n],u.nodeType===Node.ELEMENT_NODE&&(s=u.outerHTML,r=null!=(e=this.elements)[s]?e[s]:e[s]={type:i(u),tracked:o(u),elements:[]},r.elements.push(u))}var e,r,n,o,i;return t.fromHeadElement=function(t){var e;return new this(null!=(e=null!=t?t.childNodes:void 0)?e:[])},t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var r,n;r=this.elements,n=[];for(t in r)e=r[t].tracked,e&&n.push(t);return n}.call(this).join("")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("script",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("stylesheet",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var r,n,o,i,s,a;o=this.elements,s=[];for(n in o)i=o[n],a=i.type,r=i.elements,a!==t||e.hasElementWithKey(n)||s.push(r[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,r,n,o,i,s;r=[],n=this.elements;for(e in n)o=n[e],s=o.type,i=o.tracked,t=o.elements,null!=s||i?t.length>1&&r.push.apply(r,t.slice(1)):r.push.apply(r,t);return r},t.prototype.getMetaValue=function(t){var e;return null!=(e=this.findMetaElementByName(t))?e.getAttribute("content"):void 0},t.prototype.findMetaElementByName=function(t){var r,n,o,i;r=void 0,i=this.elements;for(o in i)n=i[o].elements,e(n[0],t)&&(r=n[0]);return r},i=function(t){return r(t)?"script":n(t)?"stylesheet":void 0},o=function(t){return"reload"===t.getAttribute("data-turbolinks-track")},r=function(t){var e;return e=t.tagName.toLowerCase(),"script"===e},n=function(t){var e;return e=t.tagName.toLowerCase(),"style"===e||"link"===e&&"stylesheet"===t.getAttribute("rel")},e=function(t,e){var r;return r=t.tagName.toLowerCase(),"meta"===r&&t.getAttribute("name")===e},t}()}.call(this),function(){e.Snapshot=function(){function t(t,e){this.headDetails=t,this.bodyElement=e}return t.wrap=function(t){return t instanceof this?t:"string"==typeof t?this.fromHTMLString(t):this.fromHTMLElement(t)},t.fromHTMLString=function(t){var e;return e=document.createElement("html"),e.innerHTML=t,this.fromHTMLElement(e)},t.fromHTMLElement=function(t){var r,n,o,i;return o=t.querySelector("head"),r=null!=(i=t.querySelector("body"))?i:document.createElement("body"),n=e.HeadDetails.fromHeadElement(o),new this(n,r)},t.prototype.clone=function(){return new this.constructor(this.headDetails,this.bodyElement.cloneNode(!0))},t.prototype.getRootLocation=function(){var t,r;return r=null!=(t=this.getSetting("root"))?t:"/",new e.Location(r)},t.prototype.getCacheControlValue=function(){return this.getSetting("cache-control")},t.prototype.getElementForAnchor=function(t){try{return this.bodyElement.querySelector("[id='"+t+"'], a[name='"+t+"']")}catch(e){}},t.prototype.getPermanentElements=function(){return this.bodyElement.querySelectorAll("[id][data-turbolinks-permanent]")},t.prototype.getPermanentElementById=function(t){return this.bodyElement.querySelector("#"+t+"[data-turbolinks-permanent]")},t.prototype.getPermanentElementsPresentInSnapshot=function(t){var e,r,n,o,i;for(o=this.getPermanentElements(),i=[],r=0,n=o.length;n>r;r++)e=o[r],t.getPermanentElementById(e.id)&&i.push(e);return i},t.prototype.findFirstAutofocusableElement=function(){return this.bodyElement.querySelector("[autofocus]")},t.prototype.hasAnchor=function(t){return null!=this.getElementForAnchor(t)},t.prototype.isPreviewable=function(){return"no-preview"!==this.getCacheControlValue()},t.prototype.isCacheable=function(){return"no-cache"!==this.getCacheControlValue()},t.prototype.isVisitable=function(){return"reload"!==this.getSetting("visit-control")},t.prototype.getSetting=function(t){return this.headDetails.getMetaValue("turbolinks-"+t)},t}()}.call(this),function(){var t=[].slice;e.Renderer=function(){function e(){}var r;return e.render=function(){var e,r,n,o;return n=arguments[0],r=arguments[1],e=3<=arguments.length?t.call(arguments,2):[],o=function(t,e,r){r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return Object(o)===o?o:n}(this,e,function(){}),o.delegate=n,o.render(r),o},e.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},e.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},e.prototype.createScriptElement=function(t){var e;return"false"===t.getAttribute("data-turbolinks-eval")?t:(e=document.createElement("script"),e.textContent=t.textContent,e.async=!1,r(e,t),e)},r=function(t,e){var r,n,o,i,s,a,u;for(i=e.attributes,a=[],r=0,n=i.length;n>r;r++)s=i[r],o=s.name,u=s.value,a.push(t.setAttribute(o,u));return a},e}()}.call(this),function(){var t,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;e.SnapshotRenderer=function(e){function o(t,e,r){this.currentSnapshot=t,this.newSnapshot=e,this.isPreview=r,this.currentHeadDetails=this.currentSnapshot.headDetails,this.newHeadDetails=this.newSnapshot.headDetails,this.currentBody=this.currentSnapshot.bodyElement,this.newBody=this.newSnapshot.bodyElement}return n(o,e),o.prototype.render=function(t){return this.shouldRender()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.isPreview||e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},o.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},o.prototype.replaceBody=function(){var t;return t=this.relocateCurrentBodyPermanentElements(),this.activateNewBodyScriptElements(),this.assignNewBody(),this.replacePlaceholderElementsWithClonedPermanentElements(t)},o.prototype.shouldRender=function(){return this.newSnapshot.isVisitable()&&this.trackedElementsAreIdentical()},o.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},o.prototype.copyNewHeadStylesheetElements=function(){var t,e,r,n,o;for(n=this.getNewHeadStylesheetElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.copyNewHeadScriptElements=function(){var t,e,r,n,o;for(n=this.getNewHeadScriptElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},o.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getCurrentHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.removeChild(t));return o},o.prototype.copyNewHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getNewHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.relocateCurrentBodyPermanentElements=function(){var e,n,o,i,s,a,u;for(a=this.getCurrentBodyPermanentElements(),u=[],e=0,n=a.length;n>e;e++)i=a[e],s=t(i),o=this.newSnapshot.getPermanentElementById(i.id),r(i,s.element),r(o,i),u.push(s);return u},o.prototype.replacePlaceholderElementsWithClonedPermanentElements=function(t){var e,n,o,i,s,a,u;for(u=[],o=0,i=t.length;i>o;o++)a=t[o],n=a.element,s=a.permanentElement,e=s.cloneNode(!0),u.push(r(n,e));return u},o.prototype.activateNewBodyScriptElements=function(){var t,e,n,o,i,s;for(i=this.getNewBodyScriptElements(),s=[],e=0,o=i.length;o>e;e++)n=i[e],t=this.createScriptElement(n),s.push(r(n,t));return s},o.prototype.assignNewBody=function(){return document.body=this.newBody},o.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.newSnapshot.findFirstAutofocusableElement())?t.focus():void 0},o.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},o.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},o.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},o.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},o.prototype.getCurrentBodyPermanentElements=function(){return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot)},o.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll("script")},o}(e.Renderer),t=function(t){var e;return e=document.createElement("meta"),e.setAttribute("name","turbolinks-permanent-placeholder"),e.setAttribute("content",t.id),{element:e,permanentElement:t}},r=function(t,e){var r;return(r=t.parentNode)?r.replaceChild(e,t):void 0}}.call(this),function(){var t=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;e.ErrorRenderer=function(e){function r(t){var e;e=document.createElement("html"),e.innerHTML=t,this.newHead=e.querySelector("head"),this.newBody=e.querySelector("body")}return t(r,e),r.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceHeadAndBody(),e.activateBodyScriptElements(),t()}}(this))},r.prototype.replaceHeadAndBody=function(){var t,e;return e=document.head,t=document.body,e.parentNode.replaceChild(this.newHead,e),t.parentNode.replaceChild(this.newBody,t)},r.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getScriptElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},r.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll("script")},r}(e.Renderer)}.call(this),function(){e.View=function(){function t(t){this.delegate=t,this.htmlElement=document.documentElement}return t.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},t.prototype.getElementForAnchor=function(t){return this.getSnapshot().getElementForAnchor(t)},t.prototype.getSnapshot=function(){return e.Snapshot.fromHTMLElement(this.htmlElement)},t.prototype.render=function(t,e){var r,n,o;return o=t.snapshot,r=t.error,n=t.isPreview,this.markAsPreview(n),null!=o?this.renderSnapshot(o,n,e):this.renderError(r,e)},t.prototype.markAsPreview=function(t){return t?this.htmlElement.setAttribute("data-turbolinks-preview",""):this.htmlElement.removeAttribute("data-turbolinks-preview")},t.prototype.renderSnapshot=function(t,r,n){return e.SnapshotRenderer.render(this.delegate,n,this.getSnapshot(),e.Snapshot.wrap(t),r)},t.prototype.renderError=function(t,r){return e.ErrorRenderer.render(this.delegate,r,t)},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ScrollManager=function(){function r(r){this.delegate=r,this.onScroll=t(this.onScroll,this),this.onScroll=e.throttle(this.onScroll)}return r.prototype.start=function(){return this.started?void 0:(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener("scroll",this.onScroll,!1),this.started=!1):void 0},r.prototype.scrollToElement=function(t){return t.scrollIntoView()},r.prototype.scrollToPosition=function(t){var e,r;return e=t.x,r=t.y,window.scrollTo(e,r)},r.prototype.onScroll=function(t){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},r.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},r}()}.call(this),function(){e.SnapshotCache=function(){function t(t){this.size=t,this.keys=[],this.snapshots={}}var r;return t.prototype.has=function(t){var e;return e=r(t),e in this.snapshots},t.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},t.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},t.prototype.read=function(t){var e;return e=r(t),this.snapshots[e]},t.prototype.write=function(t,e){var n;return n=r(t),this.snapshots[n]=e},t.prototype.touch=function(t){var e,n;return n=r(t),e=this.keys.indexOf(n),e>-1&&this.keys.splice(e,1),this.keys.unshift(n),this.trim()},t.prototype.trim=function(){var t,e,r,n,o;for(n=this.keys.splice(this.size),o=[],t=0,r=n.length;r>t;t++)e=n[t],o.push(delete this.snapshots[e]);return o},r=function(t){return e.Location.wrap(t).toCacheKey()},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Visit=function(){function r(r,n,o){this.controller=r,this.action=o,this.performScroll=t(this.performScroll,this),this.identifier=e.uuid(),this.location=e.Location.wrap(n),this.adapter=this.controller.adapter,this.state="initialized",this.timingMetrics={}}var n;return r.prototype.start=function(){return"initialized"===this.state?(this.recordTimingMetric("visitStart"),this.state="started",this.adapter.visitStarted(this)):void 0},r.prototype.cancel=function(){var t;return"started"===this.state?(null!=(t=this.request)&&t.cancel(),this.cancelRender(),this.state="canceled"):void 0},r.prototype.complete=function(){var t;return"started"===this.state?(this.recordTimingMetric("visitEnd"),this.state="completed","function"==typeof(t=this.adapter).visitCompleted&&t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},r.prototype.fail=function(){var t;return"started"===this.state?(this.state="failed","function"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},r.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?"replace":this.action,e=n(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},r.prototype.issueRequest=function(){return this.shouldIssueRequest()&&null==this.request?(this.progress=0,this.request=new e.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},r.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor&&!t.hasAnchor(this.location.anchor)||"restore"!==this.action&&!t.isPreviewable()?void 0:t},r.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},r.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var r;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),"function"==typeof(r=this.adapter).visitRendered&&r.visitRendered(this),t?void 0:this.complete()})):void 0},r.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),"function"==typeof(t=this.adapter).visitRendered&&t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),"function"==typeof(e=this.adapter).visitRendered&&e.visitRendered(this),this.complete())}):void 0},r.prototype.followRedirect=function(){return this.redirectedToLocation&&!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},r.prototype.requestStarted=function(){var t;return this.recordTimingMetric("requestStart"),"function"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},r.prototype.requestProgressed=function(t){var e;return this.progress=t,"function"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},r.prototype.requestCompletedWithResponse=function(t,r){return this.response=t,null!=r&&(this.redirectedToLocation=e.Location.wrap(r)),this.adapter.visitRequestCompleted(this)},r.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},r.prototype.requestFinished=function(){var t;return this.recordTimingMetric("requestEnd"),"function"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},r.prototype.performScroll=function(){return this.scrolled?void 0:("restore"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},r.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},r.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},r.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},r.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},r.prototype.getTimingMetrics=function(){return e.copyObject(this.timingMetrics)},n=function(t){switch(t){case"replace":return"replaceHistoryWithLocationAndRestorationIdentifier";case"advance":case"restore":return"pushHistoryWithLocationAndRestorationIdentifier"}},r.prototype.shouldIssueRequest=function(){return"restore"===this.action?!this.hasCachedSnapshot():!0},r.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},r.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},r.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Controller=function(){function r(){this.clickBubbled=t(this.clickBubbled,this),this.clickCaptured=t(this.clickCaptured,this),this.pageLoaded=t(this.pageLoaded,this),this.history=new e.History(this),this.view=new e.View(this),this.scrollManager=new e.ScrollManager(this),this.restorationData={},this.clearCache(),this.setProgressBarDelay(500)}return r.prototype.start=function(){return e.supported&&!this.started?(addEventListener("click",this.clickCaptured,!0),addEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},r.prototype.disable=function(){return this.enabled=!1},r.prototype.stop=function(){return this.started?(removeEventListener("click",this.clickCaptured,!0),removeEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},r.prototype.clearCache=function(){return this.cache=new e.SnapshotCache(10)},r.prototype.visit=function(t,r){var n,o;return null==r&&(r={}),t=e.Location.wrap(t),this.applicationAllowsVisitingLocation(t)?this.locationIsVisitable(t)?(n=null!=(o=r.action)?o:"advance",this.adapter.visitProposedToLocationWithAction(t,n)):window.location=t:void 0},r.prototype.startVisitToLocationWithAction=function(t,r,n){var o;return e.supported?(o=this.getRestorationDataForIdentifier(n),this.startVisit(t,r,{restorationData:o})):window.location=t},r.prototype.setProgressBarDelay=function(t){return this.progressBarDelay=t},r.prototype.startHistory=function(){return this.location=e.Location.wrap(window.location),this.restorationIdentifier=e.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.stopHistory=function(){return this.history.stop()},r.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.push(this.location,this.restorationIdentifier)},r.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.historyPoppedToLocationWithRestorationIdentifier=function(t,r){var n;return this.restorationIdentifier=r,this.enabled?(n=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(t,"restore",{restorationIdentifier:this.restorationIdentifier,restorationData:n,historyChanged:!0}),this.location=e.Location.wrap(t)):this.adapter.pageInvalidated()},r.prototype.getCachedSnapshotForLocation=function(t){var e;return null!=(e=this.cache.get(t))?e.clone():void 0},r.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable(); +},r.prototype.cacheSnapshot=function(){var t,r;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),r=this.view.getSnapshot(),t=this.lastRenderedLocation,e.defer(function(e){return function(){return e.cache.put(t,r.clone())}}(this))):void 0},r.prototype.scrollToAnchor=function(t){var e;return(e=this.view.getElementForAnchor(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},r.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},r.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},r.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},r.prototype.render=function(t,e){return this.view.render(t,e)},r.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},r.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},r.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},r.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},r.prototype.clickCaptured=function(){return removeEventListener("click",this.clickBubbled,!1),addEventListener("click",this.clickBubbled,!1)},r.prototype.clickBubbled=function(t){var e,r,n;return this.enabled&&this.clickEventIsSignificant(t)&&(r=this.getVisitableLinkForNode(t.target))&&(n=this.getVisitableLocationForLink(r))&&this.applicationAllowsFollowingLinkToLocation(r,n)?(t.preventDefault(),e=this.getActionForLink(r),this.visit(n,{action:e})):void 0},r.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var r;return r=this.notifyApplicationAfterClickingLinkToLocation(t,e),!r.defaultPrevented},r.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},r.prototype.notifyApplicationAfterClickingLinkToLocation=function(t,r){return e.dispatch("turbolinks:click",{target:t,data:{url:r.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationBeforeVisitingLocation=function(t){return e.dispatch("turbolinks:before-visit",{data:{url:t.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationAfterVisitingLocation=function(t){return e.dispatch("turbolinks:visit",{data:{url:t.absoluteURL}})},r.prototype.notifyApplicationBeforeCachingSnapshot=function(){return e.dispatch("turbolinks:before-cache")},r.prototype.notifyApplicationBeforeRender=function(t){return e.dispatch("turbolinks:before-render",{data:{newBody:t}})},r.prototype.notifyApplicationAfterRender=function(){return e.dispatch("turbolinks:render")},r.prototype.notifyApplicationAfterPageLoad=function(t){return null==t&&(t={}),e.dispatch("turbolinks:load",{data:{url:this.location.absoluteURL,timing:t}})},r.prototype.startVisit=function(t,e,r){var n;return null!=(n=this.currentVisit)&&n.cancel(),this.currentVisit=this.createVisit(t,e,r),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},r.prototype.createVisit=function(t,r,n){var o,i,s,a,u;return i=null!=n?n:{},a=i.restorationIdentifier,s=i.restorationData,o=i.historyChanged,u=new e.Visit(this,t,r),u.restorationIdentifier=null!=a?a:e.uuid(),u.restorationData=e.copyObject(s),u.historyChanged=o,u.referrer=this.location,u},r.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},r.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which>1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},r.prototype.getVisitableLinkForNode=function(t){return this.nodeIsVisitable(t)?e.closest(t,"a[href]:not([target]):not([download])"):void 0},r.prototype.getVisitableLocationForLink=function(t){var r;return r=new e.Location(t.getAttribute("href")),this.locationIsVisitable(r)?r:void 0},r.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute("data-turbolinks-action"))?e:"advance"},r.prototype.nodeIsVisitable=function(t){var r;return(r=e.closest(t,"[data-turbolinks]"))?"false"!==r.getAttribute("data-turbolinks"):!0},r.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())&&t.isHTML()},r.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},r.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},r}()}.call(this),function(){!function(){var t,e;if((t=e=document.currentScript)&&!e.hasAttribute("data-turbolinks-suppress-warning"))for(;t=t.parentNode;)if(t===document.body)return console.warn("You are loading Turbolinks from a <script> element inside the <body> element. This is probably not what you meant to do!\n\nLoad your application\u2019s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change.\n\nFor more information, see: https://github.com/turbolinks/turbolinks#working-with-script-elements\n\n\u2014\u2014\nSuppress this warning by adding a `data-turbolinks-suppress-warning` attribute to: %s",e.outerHTML)}()}.call(this),function(){var t,r,n;e.start=function(){return r()?(null==e.controller&&(e.controller=t()),e.controller.start()):void 0},r=function(){return null==window.Turbolinks&&(window.Turbolinks=e),n()},t=function(){var t;return t=new e.Controller,t.adapter=new e.BrowserAdapter(t),t},n=function(){return window.Turbolinks===e},n()&&e.start()}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd&&define(e)}).call(this); +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ + +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.14.5 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Popper = factory()); +}(this, (function () { 'use strict'; + +var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; + +var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; +var timeoutDuration = 0; +for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + timeoutDuration = 1; + break; + } +} + +function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; +} + +function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; +} + +var supportsMicroTasks = isBrowser && window.Promise; + +/** +* Create a debounced version of a method, that's asynchronously deferred +* but called in the minimum time possible. +* +* @method +* @memberof Popper.Utils +* @argument {Function} fn +* @returns {Function} +*/ +var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + +/** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ +function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +} + +/** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ +function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; +} + +/** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ +function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; +} + +/** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ +function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); +} + +var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); +var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); + +/** + * Determines if the browser is Internet Explorer + * @method + * @memberof Popper.Utils + * @param {Number} version to check + * @returns {Boolean} isIE + */ +function isIE(version) { + if (version === 11) { + return isIE11; + } + if (version === 10) { + return isIE10; + } + return isIE11 || isIE10; +} + +/** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ +function getOffsetParent(element) { + if (!element) { + return document.documentElement; + } + + var noOffsetParent = isIE(10) ? document.body : null; + + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent || null; + // Skip hidden elements which don't have an offsetParent + while (offsetParent === noOffsetParent && element.nextElementSibling) { + offsetParent = (element = element.nextElementSibling).offsetParent; + } + + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return element ? element.ownerDocument.documentElement : document.documentElement; + } + + // .offsetParent will return the closest TH, TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; +} + +function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; +} + +/** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ +function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; +} + +/** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ +function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } +} + +/** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ +function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; +} + +/* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ +function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; +} + +/* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + +function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); +} + +function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); +} + +function getWindowSizes(document) { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE(10) && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; +} + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + + + + + +var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +/** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ +function getClientRect(offsets) { + return _extends({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); +} + +/** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ +function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + try { + if (isIE(10)) { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } else { + rect = element.getBoundingClientRect(); + } + } catch (e) {} + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; + var width = sizes.width || element.clientWidth || result.right - result.left; + var height = sizes.height || element.clientHeight || result.bottom - result.top; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); +} + +function getOffsetRectRelativeToArbitraryNode(children, parent) { + var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var isIE10 = isIE(10); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + // In cases where the parent is fixed, we must ignore negative scroll in offset calc + if (fixedPosition && isHTML) { + parentRect.top = Math.max(parentRect.top, 0); + parentRect.left = Math.max(parentRect.left, 0); + } + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; +} + +function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = !excludeScroll ? getScroll(html) : 0; + var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); +} + +/** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ +function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return isFixed(getParentNode(element)); +} + +/** + * Finds the first parent of an element that has a transformed property defined + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} first transformed parent or documentElement + */ + +function getFixedPositionOffsetParent(element) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element || !element.parentElement || isIE()) { + return document.documentElement; + } + var el = element.parentElement; + while (el && getStyleComputedProperty(el, 'transform') === 'none') { + el = el.parentElement; + } + return el || document.documentElement; +} + +/** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @param {Boolean} fixedPosition - Is in fixed position mode + * @returns {Object} Coordinates of the boundaries + */ +function getBoundaries(popper, reference, padding, boundariesElement) { + var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + // NOTE: 1 DOM access here + + var boundaries = { top: 0, left: 0 }; + var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(popper.ownerDocument), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + padding = padding || 0; + var isPaddingNumber = typeof padding === 'number'; + boundaries.left += isPaddingNumber ? padding : padding.left || 0; + boundaries.top += isPaddingNumber ? padding : padding.top || 0; + boundaries.right -= isPaddingNumber ? padding : padding.right || 0; + boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; + + return boundaries; +} + +function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; +} + +/** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); +} + +/** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @param {Element} fixedPosition - is in fixed position mode + * @returns {Object} An object containing the offsets which will be applied to the popper + */ +function getReferenceOffsets(state, popper, reference) { + var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); +} + +/** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ +function getOuterSizes(element) { + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; +} + +/** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ +function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} + +/** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ +function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; +} + +/** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; +} + +/** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); +} + +/** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ +function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; +} + +/** + * Updates the position of the popper, computing the new offsets and applying + * the new style.<br /> + * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ +function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + data.positionFixed = this.options.positionFixed; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + + data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } +} + +/** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ +function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); +} + +/** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ +function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; +} + +/** + * Destroys the popper. + * @method + * @memberof Popper + */ +function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style.left = ''; + this.popper.style.right = ''; + this.popper.style.bottom = ''; + this.popper.style.willChange = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; +} + +/** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ +function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; +} + +function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); +} + +/** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; +} + +/** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ +function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } +} + +/** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; +} + +/** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger `onUpdate` callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ +function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } +} + +/** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ +function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); +} + +/** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); +} + +/** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ +function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; +} + +/** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper + * @param {Object} options - Popper.js options + */ +function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); + + return options; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + // Avoid blurry text by using full pixel integers. + // For pixel-perfect positioning, top/bottom prefers rounded + // values, while left/right prefers floored values. + var offsets = { + left: Math.floor(popper.left), + top: Math.round(popper.top), + bottom: Math.round(popper.bottom), + right: Math.floor(popper.right) + }; + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar) + // and not the bottom of the html element + if (offsetParent.nodeName === 'HTML') { + top = -offsetParent.clientHeight + offsets.bottom; + } else { + top = -offsetParentRect.height + offsets.bottom; + } + } else { + top = offsets.top; + } + if (sideB === 'right') { + if (offsetParent.nodeName === 'HTML') { + left = -offsetParent.clientWidth + offsets.right; + } else { + left = -offsetParentRect.width + offsets.right; + } + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends({}, attributes, data.attributes); + data.styles = _extends({}, styles, data.styles); + data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); + + return data; +} + +/** + * Helper used to know if the given modifier depends from another one.<br /> + * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ +function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjunction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; +} + +/** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ +function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; +} + +/** + * List of accepted placements to use as values of the `placement` option.<br /> + * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.<br /> + * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-end` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ +var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + +// Get rid of `auto` `auto-start` and `auto-end` +var validPlacements = placements.slice(3); + +/** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ +function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; +} + +var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' +}; + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; +} + +/** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ +function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } +} + +/** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ +function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ +function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + // NOTE: DOM access here + // resets the popper's position so that the document size can be calculated excluding + // the size of the popper element itself + var transformProp = getSupportedPropertyName('transform'); + var popperStyles = data.instance.popper.style; // assignment to help minification + var top = popperStyles.top, + left = popperStyles.left, + transform = popperStyles[transformProp]; + + popperStyles.top = ''; + popperStyles.left = ''; + popperStyles[transformProp] = ''; + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); + + // NOTE: DOM access here + // restores the original style properties after the offsets have been computed + popperStyles.top = top; + popperStyles.left = left; + popperStyles[transformProp] = transform; + + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; +} + +/** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.<br /> + * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + +/** + * Modifiers are plugins used to alter the behavior of your poppers.<br /> + * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ +var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.<br /> + * It will read the variation of the `placement` property.<br /> + * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unit-less, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.<br /> + * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the `height`. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.<br /> + * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.<br /> + * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * A scenario exists where the reference itself is not within the boundaries.<br /> + * We can say it has "escaped the boundaries" — or just "escaped".<br /> + * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper. This makes sure the popper always has a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier. Can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near each other + * without leaving any gap between the two. Especially useful when the arrow is + * enabled and you want to ensure that it points to its reference element. + * It cares only about the first axis. You can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjunction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations) + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position. + * The popper will never be placed outside of the defined boundaries + * (except if `keepTogether` is enabled) + */ + boundariesElement: 'viewport' + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define your own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: undefined + } +}; + +/** + * The `dataObject` is an object containing all the information used by Popper.js. + * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + +/** + * Default options provided to Popper.js constructor.<br /> + * These can be overridden using the `options` argument of Popper.js.<br /> + * To override an option, simply pass an object with the same + * structure of the `options` object, as the 3rd argument. For example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ +var Defaults = { + /** + * Popper's placement. + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Set this to true if you want popper to position it self in 'fixed' mode + * @prop {Boolean} positionFixed=false + */ + positionFixed: false, + + /** + * Whether events (resize, scroll) are initially enabled. + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.<br /> + * By default, it is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated. This callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.<br /> + * By default, it is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js. + * @prop {modifiers} + */ + modifiers: modifiers +}; + +/** + * @callback onCreate + * @param {dataObject} data + */ + +/** + * @callback onUpdate + * @param {dataObject} data + */ + +// Utils +// Methods +var Popper = function () { + /** + * Creates a new Popper.js instance. + * @class Popper + * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as the popper + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedules an update. It will run on the next UI update available. + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; +}(); + +/** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.<br /> + * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10. + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + +Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; +Popper.placements = placements; +Popper.Defaults = Defaults; + +return Popper; + +}))); +/*! + * Bootstrap util.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global = global || self, global.Util = factory(global.jQuery)); +}(this, function ($) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + $.fn.emulateTransitionEnd = transitionEndEmulator; + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (err) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $(element).css('transition-duration'); + var transitionDelay = $(element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(TRANSITION_END); + }, + // TODO: Remove in v5 + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + } + }; + setTransitionEndSupport(); + + return Util; + +})); +/*! + * Bootstrap alert.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Alert = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'alert'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; + +})); +/*! + * Bootstrap button.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global = global || self, global.Button = factory(global.jQuery)); +}(this, function ($) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'button'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input:not([type="hidden"])', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event = { + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = this._element.querySelector(Selector.INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(Selector.ACTIVE); + + if (activeElement) { + $(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { + return; + } + + input.checked = !this._element.classList.contains(ClassName.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName.ACTIVE); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + var button = event.target; + + if (!$(button).hasClass(ClassName.BUTTON)) { + button = $(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector.BUTTON)[0]; + $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Button._jQueryInterface; + $.fn[NAME].Constructor = Button; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; + + return Button; + +})); +/*! + * Bootstrap carousel.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Carousel = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'carousel'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHSTART: "touchstart" + EVENT_KEY, + TOUCHMOVE: "touchmove" + EVENT_KEY, + TOUCHEND: "touchend" + EVENT_KEY, + POINTERDOWN: "pointerdown" + EVENT_KEY, + POINTERUP: "pointerup" + EVENT_KEY, + DRAG_START: "dragstart" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item', + POINTER_EVENT: 'pointer-event' + }; + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + ITEM_IMG: '.carousel-item img', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + }; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(Selector.NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY); + $.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + var direction = absDeltax / this.touchDeltaX; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + _this3.touchDeltaX = 0; + } else { + _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; + } + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, function (e) { + return e.preventDefault(); + }); + + if (this._pointerEvent) { + $(this._element).on(Event.POINTERDOWN, function (event) { + return start(event); + }); + $(this._element).on(Event.POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(ClassName.POINTER_EVENT); + } else { + $(this._element).on(Event.TOUCHSTART, function (event) { + return start(event); + }); + $(this._element).on(Event.TOUCHMOVE, function (event) { + return move(event); + }); + $(this._element).on(Event.TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); + + var slideEvent = $.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); + $(indicators).removeClass(ClassName.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ($(this._element).hasClass(ClassName.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); + + if (nextElementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = nextElementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); + $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $(_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $(activeElement).removeClass(ClassName.ACTIVE); + $(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = _objectSpread({}, Default, $(this).data()); + + if (typeof config === 'object') { + _config = _objectSpread({}, _config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = _objectSpread({}, $(target).data(), $(this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event.LOAD_DATA_API, function () { + var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $(carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Carousel._jQueryInterface; + $.fn[NAME].Constructor = Carousel; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; + + return Carousel; + +})); +/*! + * Bootstrap collapse.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Collapse = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'collapse'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + toggle: true, + parent: '' + }; + var DefaultType = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event = { + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(ClassName.COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).not(this._selector).data(DATA_KEY); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event.SHOWN); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var startEvent = $.Event(Event.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(ClassName.SHOW)) { + $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $(children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $(element).hasClass(ClassName.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + // preventDefault only for <a> elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $(selectors).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Collapse._jQueryInterface; + $.fn[NAME].Constructor = Collapse; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; + + return Collapse; + +})); +/*! + * Bootstrap dropdown.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : + (global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util)); +}(this, function ($, Popper, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'dropdown'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, + KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left', + POSITION_STATIC: 'position-static' + }; + var Selector = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' + }; + var Default = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic' + }; + var DefaultType = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this._element); + + var isActive = $(this._menu).hasClass(ClassName.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Disable totally Popper.js for Dropdown in Navbar + + + if (!this._inNavbar) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); + } + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $(parent).addClass(ClassName.POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) { + $(document.body).children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.show = function show() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.hide = function hide() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $.Event(Event.HIDE, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._element).off(EVENT_KEY); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(Selector.MENU); + } + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element.parentNode); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } // Disable Popper.js if we have a static display + + }; + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return popperConfig; + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + $(dropdownMenu).removeClass(ClassName.SHOW); + $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName.SHOW); + + if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = parent.querySelector(Selector.DATA_TOGGLE); + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Dropdown._jQueryInterface; + $.fn[NAME].Constructor = Dropdown; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; + + return Dropdown; + +})); +/*! + * Bootstrap modal.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Modal = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'modal'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + RESIZE: "resize" + EVENT_KEY, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SCROLLABLE: 'modal-dialog-scrollable', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DIALOG: '.modal-dialog', + MODAL_BODY: '.modal-body', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(Selector.DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; + } + + if ($(this._element).hasClass(ClassName.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $.Event(Event.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $(this._element).hasClass(ClassName.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event.FOCUSIN); + $(this._element).removeClass(ClassName.SHOW); + $(this._element).off(Event.CLICK_DISMISS); + $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $(htmlElement).off(EVENT_KEY); + }); + /** + * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `Event.CLICK_DATA_API` event that should remain + */ + + $(document).off(Event.FOCUSIN); + $.removeData(this._element, DATA_KEY); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this3 = this; + + var transition = $(this._element).hasClass(ClassName.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) { + this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this3._config.focus) { + _this3._element.focus(); + } + + _this3._isTransitioning = false; + $(_this3._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this4 = this; + + $(document).off(Event.FOCUSIN) // Guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) { + _this4._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this5 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE) { + event.preventDefault(); + + _this5.hide(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this6 = this; + + if (this._isShown) { + $(window).on(Event.RESIZE, function (event) { + return _this6.handleUpdate(event); + }); + } else { + $(window).off(Event.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this7 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName.OPEN); + + _this7._resetAdjustments(); + + _this7._resetScrollbar(); + + $(_this7._element).trigger(Event.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this8 = this; + + var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this8._ignoreBackdropClick) { + _this8._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this8._config.backdrop === 'static') { + _this8._element.focus(); + } else { + _this8.hide(); + } + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName.SHOW); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName.SHOW); + + var callbackRemove = function callbackRemove() { + _this8._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($(this._element).hasClass(ClassName.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this9 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding + + $(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $(document.body).css('padding-right'); + $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $(document.body).addClass(ClassName.OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + $(fixedContent).each(function (index, element) { + var padding = $(element).data('padding-right'); + $(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); + $(elements).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $(document.body).data('padding-right'); + $(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = _objectSpread({}, Default, $(this).data(), typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this10 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); + } + + var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event.HIDDEN, function () { + if ($(_this10).is(':visible')) { + _this10.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Modal._jQueryInterface; + $.fn[NAME].Constructor = Modal; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; + + return Modal; + +})); +/*! + * Bootstrap tooltip.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : + (global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util)); +}(this, function ($, Popper, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + }; + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i, len); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tooltip'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.tooltip'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var DefaultType = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object' + }; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default = { + animation: true, + template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal'); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector.ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this._handlePopperPlacementChange(data); + } + }); + $(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if ($(this.tip).hasClass(ClassName.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if ($(this.tip).hasClass(ClassName.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle()); + $(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getOffset = function _getOffset() { + var _this3 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (Util.isElement(this.config.container)) { + return $(this.config.container); + } + + return $(document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this4 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) { + return _this4.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT; + $(_this4.element).on(eventIn, _this4.config.selector, function (event) { + return _this4._enter(event); + }).on(eventOut, _this4.config.selector, function (event) { + return _this4._leave(event); + }); + } + }); + $(this.element).closest('.modal').on('hide.bs.modal', function () { + if (_this4.element) { + _this4.hide(); + } + }); + + if (this.config.selector) { + this.config = _objectSpread({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $(this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + var popperInstance = popperData.instance; + this.tip = popperInstance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Tooltip._jQueryInterface; + $.fn[NAME].Constructor = Tooltip; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tooltip._jQueryInterface; + }; + + return Tooltip; + +})); +/*! + * Bootstrap popover.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) : + (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip)); +}(this, function ($, Tooltip) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'popover'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.popover'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + + var Default = _objectSpread({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' + }); + + var DefaultType = _objectSpread({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(Selector.CONTENT), content); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Popover._jQueryInterface; + $.fn[NAME].Constructor = Popover; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; + + return Popover; + +})); +/*! + * Bootstrap scrollspy.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'scrollspy'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event = { + ACTIVATE: "activate" + EVENT_KEY, + SCROLL: "scroll" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._scrollElement).off(EVENT_KEY); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + var offsetLength = this._offsets.length; + + for (var i = offsetLength; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; + }); + + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { + $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + $link.addClass(ClassName.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active + // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE); + } + + $(this._scrollElement).trigger(Event.ACTIVATE, { + relatedTarget: target + }); + }; + + _proto._clear = function _clear() { + [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) { + return node.classList.contains(ClassName.ACTIVE); + }).forEach(function (node) { + return node.classList.remove(ClassName.ACTIVE); + }); + } // Static + ; + + ScrollSpy._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new ScrollSpy(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(ScrollSpy, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return ScrollSpy; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(window).on(Event.LOAD_DATA_API, function () { + var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY)); + var scrollSpysLength = scrollSpys.length; + + for (var i = scrollSpysLength; i--;) { + var $spy = $(scrollSpys[i]); + + ScrollSpy._jQueryInterface.call($spy, $spy.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = ScrollSpy._jQueryInterface; + $.fn[NAME].Constructor = ScrollSpy; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return ScrollSpy._jQueryInterface; + }; + + return ScrollSpy; + +})); +/*! + * Bootstrap tab.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Tab = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tab'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.tab'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active', + DISABLED: 'disabled', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DROPDOWN: '.dropdown', + NAV_LIST_GROUP: '.nav, .list-group', + ACTIVE: '.active', + ACTIVE_UL: '> li > .active', + DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', + DROPDOWN_TOGGLE: '.dropdown-toggle', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tab = + /*#__PURE__*/ + function () { + function Tab(element) { + this._element = element; + } // Getters + + + var _proto = Tab.prototype; + + // Public + _proto.show = function show() { + var _this = this; + + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var target; + var previous; + var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; + var selector = Util.getSelectorFromElement(this._element); + + if (listElement) { + var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); + previous = previous[previous.length - 1]; + } + + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); + + if (previous) { + $(previous).trigger(hideEvent); + } + + $(this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } + + if (selector) { + target = document.querySelector(selector); + } + + this._activate(this._element, listElement); + + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this._element + }); + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + $(previous).trigger(hiddenEvent); + $(_this._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._activate = function _activate(element, container, callback) { + var _this2 = this; + + var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE); + var active = activeElements[0]; + var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE); + + var complete = function complete() { + return _this2._transitionComplete(element, active, callback); + }; + + if (active && isTransitioning) { + var transitionDuration = Util.getTransitionDurationFromElement(active); + $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; + + _proto._transitionComplete = function _transitionComplete(element, active, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); + } + + if (active.getAttribute('role') === 'tab') { + active.setAttribute('aria-selected', false); + } + } + + $(element).addClass(ClassName.ACTIVE); + + if (element.getAttribute('role') === 'tab') { + element.setAttribute('aria-selected', true); + } + + Util.reflow(element); + + if (element.classList.contains(ClassName.FADE)) { + element.classList.add(ClassName.SHOW); + } + + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; + + if (dropdownElement) { + var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE)); + $(dropdownToggleList).addClass(ClassName.ACTIVE); + } + + element.setAttribute('aria-expanded', true); + } + + if (callback) { + callback(); + } + } // Static + ; + + Tab._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + if (!data) { + data = new Tab(this); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tab, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Tab; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + + Tab._jQueryInterface.call($(this), 'show'); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Tab._jQueryInterface; + $.fn[NAME].Constructor = Tab; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tab._jQueryInterface; + }; + + return Tab; + +})); +/*! + * Bootstrap toast.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Toast = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'toast'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.toast'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Event = { + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + HIDE: 'hide', + SHOW: 'show', + SHOWING: 'showing' + }; + var DefaultType = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' + }; + var Default = { + animation: true, + autohide: true, + delay: 500 + }; + var Selector = { + DATA_DISMISS: '[data-dismiss="toast"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Toast = + /*#__PURE__*/ + function () { + function Toast(element, config) { + this._element = element; + this._config = this._getConfig(config); + this._timeout = null; + + this._setListeners(); + } // Getters + + + var _proto = Toast.prototype; + + // Public + _proto.show = function show() { + var _this = this; + + $(this._element).trigger(Event.SHOW); + + if (this._config.animation) { + this._element.classList.add(ClassName.FADE); + } + + var complete = function complete() { + _this._element.classList.remove(ClassName.SHOWING); + + _this._element.classList.add(ClassName.SHOW); + + $(_this._element).trigger(Event.SHOWN); + + if (_this._config.autohide) { + _this.hide(); + } + }; + + this._element.classList.remove(ClassName.HIDE); + + this._element.classList.add(ClassName.SHOWING); + + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; + + _proto.hide = function hide(withoutTimeout) { + var _this2 = this; + + if (!this._element.classList.contains(ClassName.SHOW)) { + return; + } + + $(this._element).trigger(Event.HIDE); + + if (withoutTimeout) { + this._close(); + } else { + this._timeout = setTimeout(function () { + _this2._close(); + }, this._config.delay); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + this._timeout = null; + + if (this._element.classList.contains(ClassName.SHOW)) { + this._element.classList.remove(ClassName.SHOW); + } + + $(this._element).off(Event.CLICK_DISMISS); + $.removeData(this._element, DATA_KEY); + this._element = null; + this._config = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, $(this._element).data(), typeof config === 'object' && config ? config : {}); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._setListeners = function _setListeners() { + var _this3 = this; + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { + return _this3.hide(true); + }); + }; + + _proto._close = function _close() { + var _this4 = this; + + var complete = function complete() { + _this4._element.classList.add(ClassName.HIDE); + + $(_this4._element).trigger(Event.HIDDEN); + }; + + this._element.classList.remove(ClassName.SHOW); + + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } // Static + ; + + Toast._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new Toast(this, _config); + $element.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](this); + } + }); + }; + + _createClass(Toast, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Toast; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Toast._jQueryInterface; + $.fn[NAME].Constructor = Toast; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Toast._jQueryInterface; + }; + + return Toast; + +})); + + + + + + + + + + + + +/*! jQuery Validation Plugin - v1.19.1 - 6/15/2019 + * https://jqueryvalidation.org/ + * Copyright (c) 2019 Jörn Zaefferer; Licensed MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr.pseudos||a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a}); +/*! jQuery Validation Plugin - v1.19.1 - 6/15/2019 + * https://jqueryvalidation.org/ + * Copyright (c) 2019 Jörn Zaefferer; Licensed MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("abaRoutingNumber",function(a){var b=0,c=a.split(""),d=c.length;if(9!==d)return!1;for(var e=0;e<d;e+=3)b+=3*parseInt(c[e],10)+7*parseInt(c[e+1],10)+parseInt(c[e+2],10);return 0!==b&&b%10===0},"Please enter a valid routing number."),a.validator.addMethod("accept",function(b,c,d){var e,f,g,h="string"==typeof d?d.replace(/\s/g,""):"image/*",i=this.optional(c);if(i)return i;if("file"===a(c).attr("type")&&(h=h.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g,"\\$&").replace(/,/g,"|").replace(/\/\*/g,"/.*"),c.files&&c.files.length))for(g=new RegExp(".?("+h+")$","i"),e=0;e<c.files.length;e++)if(f=c.files[e],!f.type.match(g))return!1;return!0},a.validator.format("Please enter a value with a valid mimetype.")),a.validator.addMethod("alphanumeric",function(a,b){return this.optional(b)||/^\w+$/i.test(a)},"Letters, numbers, and underscores only please"),a.validator.addMethod("bankaccountNL",function(a,b){if(this.optional(b))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(a))return!1;var c,d,e,f=a.replace(/ /g,""),g=0,h=f.length;for(c=0;c<h;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-9])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a.toUpperCase())},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a,b){"use strict";function c(a){return a%2===0}if(this.optional(b))return!0;var d,e,f,g,h=new RegExp(/^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/gi),i=a.substring(0,1),j=a.substring(1,8),k=a.substring(8,9),l=0,m=0,n=0;if(9!==a.length||!h.test(a))return!1;for(d=0;d<j.length;d++)e=parseInt(j[d],10),c(d)?(e*=2,n+=e<10?e:e-9):m+=e;return l=m+n,f=(10-l.toString().substr(-1)).toString(),f=parseInt(f,10)>9?"0":f,g="JABCDEFGHI".substr(f,1).toString(),i.match(/[ABEH]/)?k===f:i.match(/[KPQS]/)?k===g:k===f||k===g},"Please specify a valid CIF number."),a.validator.addMethod("cnhBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f,g,h=0,i=0;if(b=a.charAt(0),new Array(12).join(b)===a)return!1;for(e=0,f=9,g=0;e<9;++e,--f)h+=+(a.charAt(e)*f);for(c=h%11,c>=10&&(c=0,i=2),h=0,e=0,f=1,g=0;e<9;++e,++f)h+=+(a.charAt(e)*f);return d=h%11,d>=10?d=0:d-=i,String(c).concat(d)===a.substr(-2)},"Please specify a valid CNH number"),a.validator.addMethod("cnpjBR",function(a,b){"use strict";if(this.optional(b))return!0;if(a=a.replace(/[^\d]+/g,""),14!==a.length)return!1;if("00000000000000"===a||"11111111111111"===a||"22222222222222"===a||"33333333333333"===a||"44444444444444"===a||"55555555555555"===a||"66666666666666"===a||"77777777777777"===a||"88888888888888"===a||"99999999999999"===a)return!1;for(var c=a.length-2,d=a.substring(0,c),e=a.substring(c),f=0,g=c-7,h=c;h>=1;h--)f+=d.charAt(c-h)*g--,g<2&&(g=9);var i=f%11<2?0:11-f%11;if(i!==parseInt(e.charAt(0),10))return!1;c+=1,d=a.substring(0,c),f=0,g=c-7;for(var j=c;j>=1;j--)f+=d.charAt(c-j)*g--,g<2&&(g=9);return i=f%11<2?0:11-f%11,i===parseInt(e.charAt(1),10)},"Please specify a CNPJ value number"),a.validator.addMethod("cpfBR",function(a,b){"use strict";if(this.optional(b))return!0;if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var c,d,e,f,g=0;if(c=parseInt(a.substring(9,10),10),d=parseInt(a.substring(10,11),10),e=function(a,b){var c=10*a%11;return 10!==c&&11!==c||(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(f=1;f<=9;f++)g+=parseInt(a.substring(f-1,f),10)*(11-f);if(e(g,c)){for(g=0,f=1;f<=10;f++)g+=parseInt(a.substring(f-1,f),10)*(12-f);return e(g,d)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcard",function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},"Please enter a valid credit card number."),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&(/^(5[12345])/.test(a)||/^(2[234567])/.test(a))?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:!!(128&d)},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=!!e||c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("greaterThan",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-greaterThan-blur").length&&e.addClass("validate-greaterThan-blur").on("blur.validate-greaterThan",function(){a(c).valid()}),b>e.val()},"Please enter a greater value."),a.validator.addMethod("greaterThanEqual",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-greaterThanEqual-blur").length&&e.addClass("validate-greaterThanEqual-blur").on("blur.validate-greaterThanEqual",function(){a(c).valid()}),b>=e.val()},"Please enter a greater value."),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="",q=5;if(l.length<q)return!1;if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j<d.length;j++)e=d.charAt(j),"0"!==e&&(n=!1),n||(m+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(e));for(k=0;k<m.length;k++)f=m.charAt(k),p=""+o+f,o=p%97;return 1===o},"Please specify a valid IBAN"),a.validator.addMethod("integer",function(a,b){return this.optional(b)||/^-?\d+$/.test(a)},"A positive or negative non-decimal number please"),a.validator.addMethod("ipv4",function(a,b){return this.optional(b)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(a)},"Please enter a valid IP v4 address."),a.validator.addMethod("ipv6",function(a,b){return this.optional(b)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(a)},"Please enter a valid IP v6 address."),a.validator.addMethod("lessThan",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-lessThan-blur").length&&e.addClass("validate-lessThan-blur").on("blur.validate-lessThan",function(){a(c).valid()}),b<e.val()},"Please enter a lesser value."),a.validator.addMethod("lessThanEqual",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-lessThanEqual-blur").length&&e.addClass("validate-lessThanEqual-blur").on("blur.validate-lessThanEqual",function(){a(c).valid()}),b<=e.val()},"Please enter a lesser value."),a.validator.addMethod("lettersonly",function(a,b){return this.optional(b)||/^[a-z]+$/i.test(a)},"Letters only please"),a.validator.addMethod("letterswithbasicpunc",function(a,b){return this.optional(b)||/^[a-z\-.,()'"\s]+$/i.test(a)},"Letters or punctuation only please"),a.validator.addMethod("maxfiles",function(b,c,d){return!!this.optional(c)||!("file"===a(c).attr("type")&&c.files&&c.files.length>d)},a.validator.format("Please select no more than {0} files.")),a.validator.addMethod("maxsize",function(b,c,d){if(this.optional(c))return!0;if("file"===a(c).attr("type")&&c.files&&c.files.length)for(var e=0;e<c.files.length;e++)if(c.files[e].size>d)return!1;return!0},a.validator.format("File size must not exceed {0} bytes each.")),a.validator.addMethod("maxsizetotal",function(b,c,d){if(this.optional(c))return!0;if("file"===a(c).attr("type")&&c.files&&c.files.length)for(var e=0,f=0;f<c.files.length;f++)if(e+=c.files[f].size,e>d)return!1;return!0},a.validator.format("Total size of all files must not exceed {0} bytes.")),a.validator.addMethod("mobileNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid mobile number"),a.validator.addMethod("mobileRU",function(a,b){var c=a.replace(/\(|\)|\s+|-/g,"");return this.optional(b)||c.length>9&&/^((\+7|7|8)+([0-9]){10})$/.test(c)},"Please specify a valid mobile number"),a.validator.addMethod("mobileUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("netmask",function(a,b){return this.optional(b)||/^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)/i.test(a)},"Please enter a valid netmask."),a.validator.addMethod("nieES",function(a,b){"use strict";if(this.optional(b))return!0;var c,d=new RegExp(/^[MXYZ]{1}[0-9]{7,8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/gi),e="TRWAGMYFPDXBNJZSQVHLCKET",f=a.substr(a.length-1).toUpperCase();return a=a.toString().toUpperCase(),!(a.length>10||a.length<9||!d.test(a))&&(a=a.replace(/^[X]/,"0").replace(/^[Y]/,"1").replace(/^[Z]/,"2"),c=9===a.length?a.substr(0,8):a.substr(0,9),e.charAt(parseInt(c,10)%23)===f)},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a,b){"use strict";return!!this.optional(b)||(a=a.toUpperCase(),!!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")&&(/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):!!/^[KLM]{1}/.test(a)&&a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,1)%23)))},"Please specify a valid NIF number."),a.validator.addMethod("nipPL",function(a){"use strict";if(a=a.replace(/[^0-9]/g,""),10!==a.length)return!1;for(var b=[6,5,7,2,3,4,5,6,7],c=0,d=0;d<9;d++)c+=b[d]*a[d];var e=c%11,f=10===e?0:e;return f===parseInt(a[9],10)},"Please specify a valid NIP number."),a.validator.addMethod("nisBR",function(a){var b,c,d,e,f,g=0;if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;for(c=parseInt(a.substring(10,11),10),b=parseInt(a.substring(0,10),10),e=2;e<12;e++)f=e,10===e&&(f=2),11===e&&(f=3),g+=b%10*f,b=parseInt(b/10,10);return d=g%11,d=d>1?11-d:0,c===d},"Please specify a valid NIS/PIS number"),a.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return!!this.optional(b)||("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phonePL",function(a,b){a=a.replace(/\s+/g,"");var c=/^(?:(?:(?:\+|00)?48)|(?:\(\+?48\)))?(?:1[2-8]|2[2-69]|3[2-49]|4[1-68]|5[0-9]|6[0-35-9]|[7-8][1-9]|9[145])\d{7}$/;return this.optional(b)||c.test(a)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=!e&&"undefined"!=typeof c.caseSensitive&&c.caseSensitive,g=!e&&"undefined"!=typeof c.includeTerritories&&c.includeTerritories,h=!e&&"undefined"!=typeof c.includeMilitary&&c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;b<17;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c<h.length;c++)if(d.toUpperCase()===h[c]){d=i[c],d*=e,isNaN(g)&&8===c&&(g=h[c]);break}}else d*=e;k+=d}return f=k%11,10===f&&(f="X"),f===g},"The specified vehicle identification number (VIN) is invalid."),a.validator.addMethod("zipcodeUS",function(a,b){return this.optional(b)||/^\d{5}(-\d{4})?$/.test(a)},"The specified US ZIP Code is invalid"),a.validator.addMethod("ziprange",function(a,b){return this.optional(b)||/^90[2-5]\d\{2\}-\d{4}$/.test(a)},"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"),a}); +/* +* Project: Bootstrap Notify = v3.1.3 +* Description: Turns standard Bootstrap alerts into "Growl-like" notifications. +* Author: Mouse0270 aka Robert McIntosh +* License: MIT License +* Website: https://github.com/mouse0270/bootstrap-growl +*/ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + // Create the defaults once + var defaults = { + element: 'body', + position: null, + type: "info", + allow_dismiss: true, + newest_on_top: false, + showProgressbar: false, + placement: { + from: "top", + align: "right" + }, + offset: 20, + spacing: 10, + z_index: 1031, + delay: 1000, + timer: 1000, + url_target: '_blank', + mouse_over: null, + animate: { + enter: 'animated fadeInDown', + exit: 'animated fadeOutUp' + }, + onShow: null, + onShown: null, + onClose: null, + onClosed: null, + icon_type: 'class', + template: '<div data-notify="container" class="col-xs-4 col-sm-2 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' + }; + + String.format = function() { + var str = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + str = str.replace(RegExp("\\{" + (i - 1) + "\\}", "gm"), arguments[i]); + } + return str; + }; + + function Notify ( element, content, options ) { + // Setup Content of Notify + var content = { + content: { + message: typeof content == 'object' ? content.message : content, + title: content.title ? content.title : '', + icon: content.icon ? content.icon : '', + url: content.url ? content.url : '#', + target: content.target ? content.target : '-' + } + }; + + options = $.extend(true, {}, content, options); + this.settings = $.extend(true, {}, defaults, options); + this._defaults = defaults; + if (this.settings.content.target == "-") { + this.settings.content.target = this.settings.url_target; + } + this.animations = { + start: 'webkitAnimationStart oanimationstart MSAnimationStart animationstart', + end: 'webkitAnimationEnd oanimationend MSAnimationEnd animationend' + } + + if (typeof this.settings.offset == 'number') { + this.settings.offset = { + x: this.settings.offset, + y: this.settings.offset + }; + } + + this.init(); + }; + + $.extend(Notify.prototype, { + init: function () { + var self = this; + + this.buildNotify(); + if (this.settings.content.icon) { + this.setIcon(); + } + if (this.settings.content.url != "#") { + this.styleURL(); + } + this.placement(); + this.bind(); + + this.notify = { + $ele: this.$ele, + update: function(command, update) { + var commands = {}; + if (typeof command == "string") { + commands[command] = update; + }else{ + commands = command; + } + for (var command in commands) { + switch (command) { + case "type": + this.$ele.removeClass('alert-' + self.settings.type); + this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass('progress-bar-' + self.settings.type); + self.settings.type = commands[command]; + this.$ele.addClass('alert-' + commands[command]).find('[data-notify="progressbar"] > .progress-bar').addClass('progress-bar-' + commands[command]); + break; + case "icon": + var $icon = this.$ele.find('[data-notify="icon"]'); + if (self.settings.icon_type.toLowerCase() == 'class') { + $icon.removeClass(self.settings.content.icon).addClass(commands[command]); + }else{ + if (!$icon.is('img')) { + $icon.find('img'); + } + $icon.attr('src', commands[command]); + } + break; + case "progress": + var newDelay = self.settings.delay - (self.settings.delay * (commands[command] / 100)); + this.$ele.data('notify-delay', newDelay); + this.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', commands[command]).css('width', commands[command] + '%'); + break; + case "url": + this.$ele.find('[data-notify="url"]').attr('href', commands[command]); + break; + case "target": + this.$ele.find('[data-notify="url"]').attr('target', commands[command]); + break; + default: + this.$ele.find('[data-notify="' + command +'"]').html(commands[command]); + }; + } + var posX = this.$ele.outerHeight() + parseInt(self.settings.spacing) + parseInt(self.settings.offset.y); + self.reposition(posX); + }, + close: function() { + self.close(); + } + }; + }, + buildNotify: function () { + var content = this.settings.content; + this.$ele = $(String.format(this.settings.template, this.settings.type, content.title, content.message, content.url, content.target)); + this.$ele.attr('data-notify-position', this.settings.placement.from + '-' + this.settings.placement.align); + if (!this.settings.allow_dismiss) { + this.$ele.find('[data-notify="dismiss"]').css('display', 'none'); + } + if ((this.settings.delay <= 0 && !this.settings.showProgressbar) || !this.settings.showProgressbar) { + this.$ele.find('[data-notify="progressbar"]').remove(); + } + }, + setIcon: function() { + if (this.settings.icon_type.toLowerCase() == 'class') { + this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon); + }else{ + if (this.$ele.find('[data-notify="icon"]').is('img')) { + this.$ele.find('[data-notify="icon"]').attr('src', this.settings.content.icon); + }else{ + this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />'); + } + } + }, + styleURL: function() { + this.$ele.find('[data-notify="url"]').css({ + backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)', + height: '100%', + left: '0px', + position: 'absolute', + top: '0px', + width: '100%', + zIndex: this.settings.z_index + 1 + }); + this.$ele.find('[data-notify="dismiss"]').css({ + position: 'absolute', + right: '10px', + top: '5px', + zIndex: this.settings.z_index + 2 + }); + }, + placement: function() { + var self = this, + offsetAmt = this.settings.offset.y, + css = { + display: 'inline-block', + margin: '0px auto', + position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'), + transition: 'all .5s ease-in-out', + zIndex: this.settings.z_index + }, + hasAnimation = false, + settings = this.settings; + + $('[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])').each(function() { + return offsetAmt = Math.max(offsetAmt, parseInt($(this).css(settings.placement.from)) + parseInt($(this).outerHeight()) + parseInt(settings.spacing)); + }); + if (this.settings.newest_on_top == true) { + offsetAmt = this.settings.offset.y; + } + css[this.settings.placement.from] = offsetAmt+'px'; + + switch (this.settings.placement.align) { + case "left": + case "right": + css[this.settings.placement.align] = this.settings.offset.x+'px'; + break; + case "center": + css.left = 0; + css.right = 0; + break; + } + this.$ele.css(css).addClass(this.settings.animate.enter); + $.each(Array('webkit', 'moz', 'o', 'ms', ''), function(index, prefix) { + self.$ele[0].style[prefix+'AnimationIterationCount'] = 1; + }); + + $(this.settings.element).append(this.$ele); + + if (this.settings.newest_on_top == true) { + offsetAmt = (parseInt(offsetAmt)+parseInt(this.settings.spacing)) + this.$ele.outerHeight(); + this.reposition(offsetAmt); + } + + if ($.isFunction(self.settings.onShow)) { + self.settings.onShow.call(this.$ele); + } + + this.$ele.one(this.animations.start, function(event) { + hasAnimation = true; + }).one(this.animations.end, function(event) { + if ($.isFunction(self.settings.onShown)) { + self.settings.onShown.call(this); + } + }); + + setTimeout(function() { + if (!hasAnimation) { + if ($.isFunction(self.settings.onShown)) { + self.settings.onShown.call(this); + } + } + }, 600); + }, + bind: function() { + var self = this; + + this.$ele.find('[data-notify="dismiss"]').on('click', function() { + self.close(); + }) + + this.$ele.mouseover(function(e) { + $(this).data('data-hover', "true"); + }).mouseout(function(e) { + $(this).data('data-hover', "false"); + }); + this.$ele.data('data-hover', "false"); + + if (this.settings.delay > 0) { + self.$ele.data('notify-delay', self.settings.delay); + var timer = setInterval(function() { + var delay = parseInt(self.$ele.data('notify-delay')) - self.settings.timer; + if ((self.$ele.data('data-hover') === 'false' && self.settings.mouse_over == "pause") || self.settings.mouse_over != "pause") { + var percent = ((self.settings.delay - delay) / self.settings.delay) * 100; + self.$ele.data('notify-delay', delay); + self.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', percent).css('width', percent + '%'); + } + if (delay <= -(self.settings.timer)) { + clearInterval(timer); + self.close(); + } + }, self.settings.timer); + } + }, + close: function() { + var self = this, + $successors = null, + posX = parseInt(this.$ele.css(this.settings.placement.from)), + hasAnimation = false; + + this.$ele.data('closing', 'true').addClass(this.settings.animate.exit); + self.reposition(posX); + + if ($.isFunction(self.settings.onClose)) { + self.settings.onClose.call(this.$ele); + } + + this.$ele.one(this.animations.start, function(event) { + hasAnimation = true; + }).one(this.animations.end, function(event) { + $(this).remove(); + if ($.isFunction(self.settings.onClosed)) { + self.settings.onClosed.call(this); + } + }); + + setTimeout(function() { + if (!hasAnimation) { + self.$ele.remove(); + if (self.settings.onClosed) { + self.settings.onClosed(self.$ele); + } + } + }, 600); + }, + reposition: function(posX) { + var self = this, + notifies = '[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])', + $elements = this.$ele.nextAll(notifies); + if (this.settings.newest_on_top == true) { + $elements = this.$ele.prevAll(notifies); + } + $elements.each(function() { + $(this).css(self.settings.placement.from, posX); + posX = (parseInt(posX)+parseInt(self.settings.spacing)) + $(this).outerHeight(); + }); + } + }); + + $.notify = function ( content, options ) { + var plugin = new Notify( this, content, options ); + return plugin.notify; + }; + $.notifyDefaults = function( options ) { + defaults = $.extend(true, {}, defaults, options); + return defaults; + }; + $.notifyClose = function( command ) { + if (typeof command === "undefined" || command == "all") { + $('[data-notify]').find('[data-notify="dismiss"]').trigger('click'); + }else{ + $('[data-notify-position="'+command+'"]').find('[data-notify="dismiss"]').trigger('click'); + } + }; + +})); +/*! jquery.cookie v1.4.1 | MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); +/*! + * Select2 4.0.8 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ + +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="tree"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="treeitem" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + var matches = window.Element.prototype.matches || + window.Element.prototype.msMatchesSelector || + window.Element.prototype.webkitMatchesSelector; + + if ((data.element != null && matches.call(data.element, ':disabled')) || + (data.element == null && data.disabled)) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + self.$selection.trigger('focus'); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.trigger('focus'); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.attr('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.attr('title', selection.title || selection.text); + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '<span class="select2-selection__clear" title="' + removeAll() +'">' + + '×' + + '</span>' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.trigger('focus'); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.trigger('focus'); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.trigger('focus'); + + window.setTimeout(function () { + self.$search.trigger('focus'); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.trigger('blur'); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.trigger('focus'); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + this.loadMoreIfNeeded(); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)); + }; + + InfiniteScroll.prototype.loadMoreIfNeeded = function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + this.$loadingMore[0] + ); + + if (this.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = this.$results.offset().top + + this.$results.outerHeight(false); + var loadingMoreOffset = this.$loadingMore.offset().top + + this.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + this.loadMore(); + } + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="treeitem" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + if (method == 'computedstyle') { + var computedStyle = window.getComputedStyle($element[0]); + + return computedStyle.width; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.RemoveData(this.$element[0]); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('jquery-mousewheel',[ + 'jquery' +], function ($) { + // Used to shim jQuery.mousewheel for non-full builds. + return $; +}); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); +/*! + * jQuery cxSelect + * @name jquery.cxselect.js + * @version 1.4.1 + * @date 2016-11-02 + * @author ciaoca + * @email ciaoca@gmail.com + * @site https://github.com/ciaoca/cxSelect + * @license Released under the MIT license + */ + +(function(factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else { + factory(window.jQuery || window.Zepto || window.$); + }; +}(function($) { + var cxSelect = function() { + var self = this; + var dom, settings, callback; + + // 分配参数 + for (var i = 0, l = arguments.length; i < l; i++) { + if (cxSelect.isJquery(arguments[i]) || cxSelect.isZepto(arguments[i])) { + dom = arguments[i]; + } else if (cxSelect.isElement(arguments[i])) { + dom = $(arguments[i]); + } else if (typeof arguments[i] === 'function') { + callback = arguments[i]; + } else if (typeof arguments[i] === 'object') { + settings = arguments[i]; + }; + }; + + var api = new cxSelect.init(dom, settings); + + if (typeof callback === 'function') { + callback(api); + }; + + return api; + }; + + cxSelect.isElement = function(o){ + if (o && (typeof HTMLElement === 'function' || typeof HTMLElement === 'object') && o instanceof HTMLElement) { + return true; + } else { + return (o && o.nodeType && o.nodeType === 1) ? true : false; + }; + }; + + cxSelect.isJquery = function(o){ + return (o && o.length && (typeof jQuery === 'function' || typeof jQuery === 'object') && o instanceof jQuery) ? true : false; + }; + + cxSelect.isZepto = function(o){ + return (o && o.length && (typeof Zepto === 'function' || typeof Zepto === 'object') && Zepto.zepto.isZ(o)) ? true : false; + }; + + cxSelect.getIndex = function(n, required) { + return required ? n : n - 1; + }; + + cxSelect.getData = function(data, space) { + if (typeof space === 'string' && space.length) { + space = space.split('.'); + for (var i = 0, l = space.length; i < l; i++) { + data = data[space[i]]; + }; + }; + return data; + }; + + cxSelect.init = function(dom, settings) { + var self = this; + + if (!cxSelect.isJquery(dom) && !cxSelect.isZepto(dom)) {return}; + + var theSelect = { + dom: { + box: dom + } + }; + + self.attach = cxSelect.attach.bind(theSelect); + self.detach = cxSelect.detach.bind(theSelect); + self.setOptions = cxSelect.setOptions.bind(theSelect); + self.clear = cxSelect.clear.bind(theSelect); + + theSelect.changeEvent = function() { + cxSelect.selectChange.call(theSelect, this.className); + }; + + theSelect.settings = $.extend({}, $.cxSelect.defaults, settings, { + url: theSelect.dom.box.data('url'), + emptyStyle: theSelect.dom.box.data('emptyStyle'), + required: theSelect.dom.box.data('required'), + firstTitle: theSelect.dom.box.data('firstTitle'), + firstValue: theSelect.dom.box.data('firstValue'), + jsonSpace: theSelect.dom.box.data('jsonSpace'), + jsonName: theSelect.dom.box.data('jsonName'), + jsonValue: theSelect.dom.box.data('jsonValue'), + jsonSub: theSelect.dom.box.data('jsonSub') + }); + + var _dataSelects = theSelect.dom.box.data('selects'); + + if (typeof _dataSelects === 'string' && _dataSelects.length) { + theSelect.settings.selects = _dataSelects.split(','); + }; + + self.setOptions(); + self.attach(); + + // 使用独立接口获取数据 + if (!theSelect.settings.url && !theSelect.settings.data) { + cxSelect.start.apply(theSelect); + + // 设置自定义数据 + } else if ($.isArray(theSelect.settings.data)) { + cxSelect.start.call(theSelect, theSelect.settings.data); + + // 设置 URL,通过 Ajax 获取数据 + } else if (typeof theSelect.settings.url === 'string' && theSelect.settings.url.length) { + $.getJSON(theSelect.settings.url, function(json) { + cxSelect.start.call(theSelect, json); + }); + }; + }; + + // 设置参数 + cxSelect.setOptions = function(opts) { + var self = this; + + if (opts) { + $.extend(self.settings, opts); + }; + + // 初次或重设选择器组 + if (!$.isArray(self.selectArray) || !self.selectArray.length || (opts && opts.selects)) { + self.selectArray = []; + + if ($.isArray(self.settings.selects) && self.settings.selects.length) { + var _tempSelect; + + for (var i = 0, l = self.settings.selects.length; i < l; i++) { + _tempSelect = self.dom.box.find('select.' + self.settings.selects[i]); + + if (!_tempSelect || !_tempSelect.length) {break}; + + self.selectArray.push(_tempSelect); + }; + }; + }; + + if (opts) { + if (!$.isArray(opts.data) && typeof opts.url === 'string' && opts.url.length) { + $.getJSON(self.settings.url, function(json) { + cxSelect.start.call(self, json); + }); + + } else { + cxSelect.start.call(self, opts.data); + }; + }; + }; + + // 绑定 + cxSelect.attach = function() { + var self = this; + + if (!self.attachStatus) { + self.dom.box.on('change', 'select', self.changeEvent); + }; + + if (typeof self.attachStatus === 'boolean') { + cxSelect.start.call(self); + }; + + self.attachStatus = true; + }; + + // 移除绑定 + cxSelect.detach = function() { + var self = this; + self.dom.box.off('change', 'select', self.changeEvent); + self.attachStatus = false; + }; + + // 清空选项 + cxSelect.clear = function(index) { + var self = this; + var _style = { + display: '', + visibility: '' + }; + + index = isNaN(index) ? 0 : index; + + // 清空后面的 select + for (var i = index, l = self.selectArray.length; i < l; i++) { + self.selectArray[i].empty().prop('disabled', true); + + if (self.settings.emptyStyle === 'none') { + _style.display = 'none'; + } else if (self.settings.emptyStyle === 'hidden') { + _style.visibility = 'hidden'; + }; + + self.selectArray[i].css(_style); + }; + }; + + cxSelect.start = function(data) { + var self = this; + + if ($.isArray(data)) { + self.settings.data = cxSelect.getData(data, self.settings.jsonSpace); + }; + + if (!self.selectArray.length) {return}; + + // 保存默认值 + for (var i = 0, l = self.selectArray.length; i < l; i++) { + if (typeof self.selectArray[i].attr('data-value') !== 'string' && self.selectArray[i][0].options.length) { + self.selectArray[i].attr('data-value', self.selectArray[i].val()); + }; + }; + + if (self.settings.data || (typeof self.selectArray[0].data('url') === 'string' && self.selectArray[0].data('url').length)) { + cxSelect.getOptionData.call(self, 0); + } else { + self.selectArray[0].prop('disabled', false).css({ + 'display': '', + 'visibility': '' + }); + }; + }; + + // 获取选项数据 + cxSelect.getOptionData = function(index) { + var self = this; + + if (typeof index !== 'number' || isNaN(index) || index < 0 || index >= self.selectArray.length) {return}; + + var _indexPrev = index - 1; + var _select = self.selectArray[index]; + var _selectData; + var _valueIndex; + var _dataUrl = _select.data('url'); + var _jsonSpace = typeof _select.data('jsonSpace') === 'undefined' ? self.settings.jsonSpace : _select.data('jsonSpace'); + var _query = {}; + var _queryName; + var _selectName; + var _selectValue; + + cxSelect.clear.call(self, index); + + // 使用独立接口 + if (typeof _dataUrl === 'string' && _dataUrl.length) { + if (index > 0) { + for (var i = 0, j = 1; i < index; i++, j++) { + _queryName = self.selectArray[j].data('queryName'); + _selectName = self.selectArray[i].attr('name'); + _selectValue = self.selectArray[i].val(); + + if (typeof _queryName === 'string' && _queryName.length) { + _query[_queryName] = _selectValue; + } else if (typeof _selectName === 'string' && _selectName.length) { + _query[_selectName] = _selectValue; + }; + }; + }; + + $.getJSON(_dataUrl, _query, function(json) { + _selectData = cxSelect.getData(json, _jsonSpace); + + cxSelect.buildOption.call(self, index, _selectData); + }); + + // 使用整合数据 + } else if (self.settings.data && typeof self.settings.data === 'object') { + _selectData = self.settings.data; + + for (var i = 0; i < index; i++) { + _valueIndex = cxSelect.getIndex(self.selectArray[i][0].selectedIndex, typeof self.selectArray[i].data('required') === 'boolean' ? self.selectArray[i].data('required') : self.settings.required); + + if (typeof _selectData[_valueIndex] === 'object' && $.isArray(_selectData[_valueIndex][self.settings.jsonSub]) && _selectData[_valueIndex][self.settings.jsonSub].length) { + _selectData = _selectData[_valueIndex][self.settings.jsonSub]; + } else { + _selectData = null; + break; + }; + }; + + cxSelect.buildOption.call(self, index, _selectData); + }; + }; + + // 构建选项列表 + cxSelect.buildOption = function(index, data) { + var self = this; + + var _select = self.selectArray[index]; + var _required = typeof _select.data('required') === 'boolean' ? _select.data('required') : self.settings.required; + var _firstTitle = typeof _select.data('firstTitle') === 'undefined' ? self.settings.firstTitle : _select.data('firstTitle'); + var _firstValue = typeof _select.data('firstValue') === 'undefined' ? self.settings.firstValue : _select.data('firstValue'); + var _jsonName = typeof _select.data('jsonName') === 'undefined' ? self.settings.jsonName : _select.data('jsonName'); + var _jsonValue = typeof _select.data('jsonValue') === 'undefined' ? self.settings.jsonValue : _select.data('jsonValue'); + + if (!$.isArray(data)) {return}; + + var _html = !_required ? '<option value="' + String(_firstValue) + '">' + String(_firstTitle) + '</option>' : ''; + + // 区分标题、值的数据 + if (typeof _jsonName === 'string' && _jsonName.length) { + // 无值字段时使用标题作为值 + if (typeof _jsonValue !== 'string' || !_jsonValue.length) { + _jsonValue = _jsonName; + }; + + for (var i = 0, l = data.length; i < l; i++) { + _html += '<option value="' + String(data[i][_jsonValue]) + '">' + String(data[i][_jsonName]) + '</option>'; + }; + + // 数组即为值的数据 + } else { + for (var i = 0, l = data.length; i < l; i++) { + _html += '<option value="' + String(data[i]) + '">' + String(data[i]) + '</option>'; + }; + }; + + _select.html(_html).prop('disabled', false).css({ + 'display': '', + 'visibility': '' + }); + + // 初次加载设置默认值 + if (typeof _select.attr('data-value') === 'string') { + _select.val(String(_select.attr('data-value'))).removeAttr('data-value'); + + if (_select[0].selectedIndex < 0) { + _select[0].options[0].selected = true; + }; + }; + + if (_required || _select[0].selectedIndex > 0) { + _select.trigger('change'); + }; + + }; + + // 改变选择时的处理 + cxSelect.selectChange = function(name) { + var self = this; + + if (typeof name !== 'string' || !name.length) {return}; + + var index; + + name = name.replace(/\s+/g, ','); + name = ',' + name + ','; + + // 获取当前 select 位置 + for (var i = 0, l = self.selectArray.length; i < l; i++) { + if (name.indexOf(',' + self.settings.selects[i] + ',') > -1) { + index = i; + break; + }; + }; + + if (typeof index === 'number' && index > -1) { + index += 1; + cxSelect.getOptionData.call(self, index); + }; + }; + + $.cxSelect = function() { + return cxSelect.apply(this, arguments); + }; + + // 默认值 + $.cxSelect.defaults = { + selects: [], // 下拉选框组 + url: null, // 列表数据文件路径(URL)或数组数据 + data: null, // 自定义数据 + emptyStyle: null, // 无数据状态显示方式 + required: false, // 是否为必选 + firstTitle: '请选择', // 第一个选项的标题 + firstValue: '', // 第一个选项的值 + jsonSpace: '', // 数据命名空间 + jsonName: 'n', // 数据标题字段名称 + jsonValue: '', // 数据值字段名称 + jsonSub: 's' // 子集数据字段名称 + }; + + $.fn.cxSelect = function(settings, callback) { + this.each(function(i) { + $.cxSelect(this, settings, callback); + }); + return this; + }; +})); +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + + +(function(factory){ + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports === 'object') { + factory(require('jquery')); + } else { + factory(jQuery); + } +}(function($, undefined){ + function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); + } + function UTCToday(){ + var today = new Date(); + return UTCDate(today.getFullYear(), today.getMonth(), today.getDate()); + } + function isUTCEquals(date1, date2) { + return ( + date1.getUTCFullYear() === date2.getUTCFullYear() && + date1.getUTCMonth() === date2.getUTCMonth() && + date1.getUTCDate() === date2.getUTCDate() + ); + } + function alias(method, deprecationMsg){ + return function(){ + if (deprecationMsg !== undefined) { + $.fn.datepicker.deprecated(deprecationMsg); + } + + return this[method].apply(this, arguments); + }; + } + function isValidDate(d) { + return d && !isNaN(d.getTime()); + } + + var DateArray = (function(){ + var extras = { + get: function(i){ + return this.slice(i)[0]; + }, + contains: function(d){ + // Array.indexOf is not cross-browser; + // $.inArray doesn't work with Dates + var val = d && d.valueOf(); + for (var i=0, l=this.length; i < l; i++) + // Use date arithmetic to allow dates with different times to match + if (0 <= this[i].valueOf() - val && this[i].valueOf() - val < 1000*60*60*24) + return i; + return -1; + }, + remove: function(i){ + this.splice(i,1); + }, + replace: function(new_array){ + if (!new_array) + return; + if (!$.isArray(new_array)) + new_array = [new_array]; + this.clear(); + this.push.apply(this, new_array); + }, + clear: function(){ + this.length = 0; + }, + copy: function(){ + var a = new DateArray(); + a.replace(this); + return a; + } + }; + + return function(){ + var a = []; + a.push.apply(a, arguments); + $.extend(a, extras); + return a; + }; + })(); + + + // Picker object + + var Datepicker = function(element, options){ + $.data(element, 'datepicker', this); + + this._events = []; + this._secondaryEvents = []; + + this._process_options(options); + + this.dates = new DateArray(); + this.viewDate = this.o.defaultViewDate; + this.focusDate = null; + + this.element = $(element); + this.isInput = this.element.is('input'); + this.inputField = this.isInput ? this.element : this.element.find('input'); + this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false; + if (this.component && this.component.length === 0) + this.component = false; + this.isInline = !this.component && this.element.is('div'); + + this.picker = $(DPGlobal.template); + + // Checking templates and inserting + if (this._check_template(this.o.templates.leftArrow)) { + this.picker.find('.prev').html(this.o.templates.leftArrow); + } + + if (this._check_template(this.o.templates.rightArrow)) { + this.picker.find('.next').html(this.o.templates.rightArrow); + } + + this._buildEvents(); + this._attachEvents(); + + if (this.isInline){ + this.picker.addClass('datepicker-inline').appendTo(this.element); + } + else { + this.picker.addClass('datepicker-dropdown dropdown-menu'); + } + + if (this.o.rtl){ + this.picker.addClass('datepicker-rtl'); + } + + if (this.o.calendarWeeks) { + this.picker.find('.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear') + .attr('colspan', function(i, val){ + return Number(val) + 1; + }); + } + + this._process_options({ + startDate: this._o.startDate, + endDate: this._o.endDate, + daysOfWeekDisabled: this.o.daysOfWeekDisabled, + daysOfWeekHighlighted: this.o.daysOfWeekHighlighted, + datesDisabled: this.o.datesDisabled + }); + + this._allow_update = false; + this.setViewMode(this.o.startView); + this._allow_update = true; + + this.fillDow(); + this.fillMonths(); + + this.update(); + + if (this.isInline){ + this.show(); + } + }; + + Datepicker.prototype = { + constructor: Datepicker, + + _resolveViewName: function(view){ + $.each(DPGlobal.viewModes, function(i, viewMode){ + if (view === i || $.inArray(view, viewMode.names) !== -1){ + view = i; + return false; + } + }); + + return view; + }, + + _resolveDaysOfWeek: function(daysOfWeek){ + if (!$.isArray(daysOfWeek)) + daysOfWeek = daysOfWeek.split(/[,\s]*/); + return $.map(daysOfWeek, Number); + }, + + _check_template: function(tmp){ + try { + // If empty + if (tmp === undefined || tmp === "") { + return false; + } + // If no html, everything ok + if ((tmp.match(/[<>]/g) || []).length <= 0) { + return true; + } + // Checking if html is fine + var jDom = $(tmp); + return jDom.length > 0; + } + catch (ex) { + return false; + } + }, + + _process_options: function(opts){ + // Store raw options for reference + this._o = $.extend({}, this._o, opts); + // Processed options + var o = this.o = $.extend({}, this._o); + + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + var lang = o.language; + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + lang = defaults.language; + } + o.language = lang; + + // Retrieve view index from any aliases + o.startView = this._resolveViewName(o.startView); + o.minViewMode = this._resolveViewName(o.minViewMode); + o.maxViewMode = this._resolveViewName(o.maxViewMode); + + // Check view is between min and max + o.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, o.startView)); + + // true, false, or Number > 0 + if (o.multidate !== true){ + o.multidate = Number(o.multidate) || false; + if (o.multidate !== false) + o.multidate = Math.max(0, o.multidate); + } + o.multidateSeparator = String(o.multidateSeparator); + + o.weekStart %= 7; + o.weekEnd = (o.weekStart + 6) % 7; + + var format = DPGlobal.parseFormat(o.format); + if (o.startDate !== -Infinity){ + if (!!o.startDate){ + if (o.startDate instanceof Date) + o.startDate = this._local_to_utc(this._zero_time(o.startDate)); + else + o.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear); + } + else { + o.startDate = -Infinity; + } + } + if (o.endDate !== Infinity){ + if (!!o.endDate){ + if (o.endDate instanceof Date) + o.endDate = this._local_to_utc(this._zero_time(o.endDate)); + else + o.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear); + } + else { + o.endDate = Infinity; + } + } + + o.daysOfWeekDisabled = this._resolveDaysOfWeek(o.daysOfWeekDisabled||[]); + o.daysOfWeekHighlighted = this._resolveDaysOfWeek(o.daysOfWeekHighlighted||[]); + + o.datesDisabled = o.datesDisabled||[]; + if (!$.isArray(o.datesDisabled)) { + o.datesDisabled = o.datesDisabled.split(','); + } + o.datesDisabled = $.map(o.datesDisabled, function(d){ + return DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear); + }); + + var plc = String(o.orientation).toLowerCase().split(/\s+/g), + _plc = o.orientation.toLowerCase(); + plc = $.grep(plc, function(word){ + return /^auto|left|right|top|bottom$/.test(word); + }); + o.orientation = {x: 'auto', y: 'auto'}; + if (!_plc || _plc === 'auto') + ; // no action + else if (plc.length === 1){ + switch (plc[0]){ + case 'top': + case 'bottom': + o.orientation.y = plc[0]; + break; + case 'left': + case 'right': + o.orientation.x = plc[0]; + break; + } + } + else { + _plc = $.grep(plc, function(word){ + return /^left|right$/.test(word); + }); + o.orientation.x = _plc[0] || 'auto'; + + _plc = $.grep(plc, function(word){ + return /^top|bottom$/.test(word); + }); + o.orientation.y = _plc[0] || 'auto'; + } + if (o.defaultViewDate instanceof Date || typeof o.defaultViewDate === 'string') { + o.defaultViewDate = DPGlobal.parseDate(o.defaultViewDate, format, o.language, o.assumeNearbyYear); + } else if (o.defaultViewDate) { + var year = o.defaultViewDate.year || new Date().getFullYear(); + var month = o.defaultViewDate.month || 0; + var day = o.defaultViewDate.day || 1; + o.defaultViewDate = UTCDate(year, month, day); + } else { + o.defaultViewDate = UTCToday(); + } + }, + _applyEvents: function(evs){ + for (var i=0, el, ch, ev; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.on(ev, ch); + } + }, + _unapplyEvents: function(evs){ + for (var i=0, el, ev, ch; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.off(ev, ch); + } + }, + _buildEvents: function(){ + var events = { + keyup: $.proxy(function(e){ + if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1) + this.update(); + }, this), + keydown: $.proxy(this.keydown, this), + paste: $.proxy(this.paste, this) + }; + + if (this.o.showOnFocus === true) { + events.focus = $.proxy(this.show, this); + } + + if (this.isInput) { // single input + this._events = [ + [this.element, events] + ]; + } + // component: input + button + else if (this.component && this.inputField.length) { + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.inputField, events], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + this._events.push( + // Component: listen for blur on element descendants + [this.element, '*', { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }], + // Input: listen for blur on element + [this.element, { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }] + ); + + if (this.o.immediateUpdates) { + // Trigger input updates immediately on changed year/month + this._events.push([this.element, { + 'changeYear changeMonth': $.proxy(function(e){ + this.update(e.date); + }, this) + }]); + } + + this._secondaryEvents = [ + [this.picker, { + click: $.proxy(this.click, this) + }], + [this.picker, '.prev, .next', { + click: $.proxy(this.navArrowsClick, this) + }], + [this.picker, '.day:not(.disabled)', { + click: $.proxy(this.dayCellClick, this) + }], + [$(window), { + resize: $.proxy(this.place, this) + }], + [$(document), { + 'mousedown touchstart': $.proxy(function(e){ + // Clicked outside the datepicker, hide it + if (!( + this.element.is(e.target) || + this.element.find(e.target).length || + this.picker.is(e.target) || + this.picker.find(e.target).length || + this.isInline + )){ + this.hide(); + } + }, this) + }] + ]; + }, + _attachEvents: function(){ + this._detachEvents(); + this._applyEvents(this._events); + }, + _detachEvents: function(){ + this._unapplyEvents(this._events); + }, + _attachSecondaryEvents: function(){ + this._detachSecondaryEvents(); + this._applyEvents(this._secondaryEvents); + }, + _detachSecondaryEvents: function(){ + this._unapplyEvents(this._secondaryEvents); + }, + _trigger: function(event, altdate){ + var date = altdate || this.dates.get(-1), + local_date = this._utc_to_local(date); + + this.element.trigger({ + type: event, + date: local_date, + viewMode: this.viewMode, + dates: $.map(this.dates, this._utc_to_local), + format: $.proxy(function(ix, format){ + if (arguments.length === 0){ + ix = this.dates.length - 1; + format = this.o.format; + } else if (typeof ix === 'string'){ + format = ix; + ix = this.dates.length - 1; + } + format = format || this.o.format; + var date = this.dates.get(ix); + return DPGlobal.formatDate(date, format, this.o.language); + }, this) + }); + }, + + show: function(){ + if (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false)) + return; + if (!this.isInline) + this.picker.appendTo(this.o.container); + this.place(); + this.picker.show(); + this._attachSecondaryEvents(); + this._trigger('show'); + if ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) { + $(this.element).blur(); + } + return this; + }, + + hide: function(){ + if (this.isInline || !this.picker.is(':visible')) + return this; + this.focusDate = null; + this.picker.hide().detach(); + this._detachSecondaryEvents(); + this.setViewMode(this.o.startView); + + if (this.o.forceParse && this.inputField.val()) + this.setValue(); + this._trigger('hide'); + return this; + }, + + destroy: function(){ + this.hide(); + this._detachEvents(); + this._detachSecondaryEvents(); + this.picker.remove(); + delete this.element.data().datepicker; + if (!this.isInput){ + delete this.element.data().date; + } + return this; + }, + + paste: function(e){ + var dateString; + if (e.originalEvent.clipboardData && e.originalEvent.clipboardData.types + && $.inArray('text/plain', e.originalEvent.clipboardData.types) !== -1) { + dateString = e.originalEvent.clipboardData.getData('text/plain'); + } else if (window.clipboardData) { + dateString = window.clipboardData.getData('Text'); + } else { + return; + } + this.setDate(dateString); + this.update(); + e.preventDefault(); + }, + + _utc_to_local: function(utc){ + if (!utc) { + return utc; + } + + var local = new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000)); + + if (local.getTimezoneOffset() !== utc.getTimezoneOffset()) { + local = new Date(utc.getTime() + (local.getTimezoneOffset() * 60000)); + } + + return local; + }, + _local_to_utc: function(local){ + return local && new Date(local.getTime() - (local.getTimezoneOffset()*60000)); + }, + _zero_time: function(local){ + return local && new Date(local.getFullYear(), local.getMonth(), local.getDate()); + }, + _zero_utc_time: function(utc){ + return utc && UTCDate(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate()); + }, + + getDates: function(){ + return $.map(this.dates, this._utc_to_local); + }, + + getUTCDates: function(){ + return $.map(this.dates, function(d){ + return new Date(d); + }); + }, + + getDate: function(){ + return this._utc_to_local(this.getUTCDate()); + }, + + getUTCDate: function(){ + var selected_date = this.dates.get(-1); + if (selected_date !== undefined) { + return new Date(selected_date); + } else { + return null; + } + }, + + clearDates: function(){ + this.inputField.val(''); + this.update(); + this._trigger('changeDate'); + + if (this.o.autoclose) { + this.hide(); + } + }, + + setDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, args); + this._trigger('changeDate'); + this.setValue(); + return this; + }, + + setUTCDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.setDates.apply(this, $.map(args, this._utc_to_local)); + return this; + }, + + setDate: alias('setDates'), + setUTCDate: alias('setUTCDates'), + remove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead'), + + setValue: function(){ + var formatted = this.getFormattedDate(); + this.inputField.val(formatted); + return this; + }, + + getFormattedDate: function(format){ + if (format === undefined) + format = this.o.format; + + var lang = this.o.language; + return $.map(this.dates, function(d){ + return DPGlobal.formatDate(d, format, lang); + }).join(this.o.multidateSeparator); + }, + + getStartDate: function(){ + return this.o.startDate; + }, + + setStartDate: function(startDate){ + this._process_options({startDate: startDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + getEndDate: function(){ + return this.o.endDate; + }, + + setEndDate: function(endDate){ + this._process_options({endDate: endDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + setDaysOfWeekDisabled: function(daysOfWeekDisabled){ + this._process_options({daysOfWeekDisabled: daysOfWeekDisabled}); + this.update(); + return this; + }, + + setDaysOfWeekHighlighted: function(daysOfWeekHighlighted){ + this._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted}); + this.update(); + return this; + }, + + setDatesDisabled: function(datesDisabled){ + this._process_options({datesDisabled: datesDisabled}); + this.update(); + return this; + }, + + place: function(){ + if (this.isInline) + return this; + var calendarWidth = this.picker.outerWidth(), + calendarHeight = this.picker.outerHeight(), + visualPadding = 10, + container = $(this.o.container), + windowWidth = container.width(), + scrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(), + appendOffset = container.offset(); + + var parentsZindex = [0]; + this.element.parents().each(function(){ + var itemZIndex = $(this).css('z-index'); + if (itemZIndex !== 'auto' && Number(itemZIndex) !== 0) parentsZindex.push(Number(itemZIndex)); + }); + var zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset; + var offset = this.component ? this.component.parent().offset() : this.element.offset(); + var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false); + var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false); + var left = offset.left - appendOffset.left; + var top = offset.top - appendOffset.top; + + if (this.o.container !== 'body') { + top += scrollTop; + } + + this.picker.removeClass( + 'datepicker-orient-top datepicker-orient-bottom '+ + 'datepicker-orient-right datepicker-orient-left' + ); + + if (this.o.orientation.x !== 'auto'){ + this.picker.addClass('datepicker-orient-' + this.o.orientation.x); + if (this.o.orientation.x === 'right') + left -= calendarWidth - width; + } + // auto x orientation is best-placement: if it crosses a window + // edge, fudge it sideways + else { + if (offset.left < 0) { + // component is outside the window on the left side. Move it into visible range + this.picker.addClass('datepicker-orient-left'); + left -= offset.left - visualPadding; + } else if (left + calendarWidth > windowWidth) { + // the calendar passes the widow right edge. Align it to component right side + this.picker.addClass('datepicker-orient-right'); + left += width - calendarWidth; + } else { + if (this.o.rtl) { + // Default to right + this.picker.addClass('datepicker-orient-right'); + } else { + // Default to left + this.picker.addClass('datepicker-orient-left'); + } + } + } + + // auto y orientation is best-situation: top or bottom, no fudging, + // decision based on which shows more of the calendar + var yorient = this.o.orientation.y, + top_overflow; + if (yorient === 'auto'){ + top_overflow = -scrollTop + top - calendarHeight; + yorient = top_overflow < 0 ? 'bottom' : 'top'; + } + + this.picker.addClass('datepicker-orient-' + yorient); + if (yorient === 'top') + top -= calendarHeight + parseInt(this.picker.css('padding-top')); + else + top += height; + + if (this.o.rtl) { + var right = windowWidth - (left + width); + this.picker.css({ + top: top, + right: right, + zIndex: zIndex + }); + } else { + this.picker.css({ + top: top, + left: left, + zIndex: zIndex + }); + } + return this; + }, + + _allow_update: true, + update: function(){ + if (!this._allow_update) + return this; + + var oldDates = this.dates.copy(), + dates = [], + fromArgs = false; + if (arguments.length){ + $.each(arguments, $.proxy(function(i, date){ + if (date instanceof Date) + date = this._local_to_utc(date); + dates.push(date); + }, this)); + fromArgs = true; + } else { + dates = this.isInput + ? this.element.val() + : this.element.data('date') || this.inputField.val(); + if (dates && this.o.multidate) + dates = dates.split(this.o.multidateSeparator); + else + dates = [dates]; + delete this.element.data().date; + } + + dates = $.map(dates, $.proxy(function(date){ + return DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear); + }, this)); + dates = $.grep(dates, $.proxy(function(date){ + return ( + !this.dateWithinRange(date) || + !date + ); + }, this), true); + this.dates.replace(dates); + + if (this.o.updateViewDate) { + if (this.dates.length) + this.viewDate = new Date(this.dates.get(-1)); + else if (this.viewDate < this.o.startDate) + this.viewDate = new Date(this.o.startDate); + else if (this.viewDate > this.o.endDate) + this.viewDate = new Date(this.o.endDate); + else + this.viewDate = this.o.defaultViewDate; + } + + if (fromArgs){ + // setting date by clicking + this.setValue(); + this.element.change(); + } + else if (this.dates.length){ + // setting date by typing + if (String(oldDates) !== String(this.dates) && fromArgs) { + this._trigger('changeDate'); + this.element.change(); + } + } + if (!this.dates.length && oldDates.length) { + this._trigger('clearDate'); + this.element.change(); + } + + this.fill(); + return this; + }, + + fillDow: function(){ + if (this.o.showWeekDays) { + var dowCnt = this.o.weekStart, + html = '<tr>'; + if (this.o.calendarWeeks){ + html += '<th class="cw"> </th>'; + } + while (dowCnt < this.o.weekStart + 7){ + html += '<th class="dow'; + if ($.inArray(dowCnt, this.o.daysOfWeekDisabled) !== -1) + html += ' disabled'; + html += '">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'</th>'; + } + html += '</tr>'; + this.picker.find('.datepicker-days thead').append(html); + } + }, + + fillMonths: function(){ + var localDate = this._utc_to_local(this.viewDate); + var html = ''; + var focused; + for (var i = 0; i < 12; i++){ + focused = localDate && localDate.getMonth() === i ? ' focused' : ''; + html += '<span class="month' + focused + '">' + dates[this.o.language].monthsShort[i] + '</span>'; + } + this.picker.find('.datepicker-months td').html(html); + }, + + setRange: function(range){ + if (!range || !range.length) + delete this.range; + else + this.range = $.map(range, function(d){ + return d.valueOf(); + }); + this.fill(); + }, + + getClassNames: function(date){ + var cls = [], + year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + today = UTCToday(); + if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){ + cls.push('old'); + } else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){ + cls.push('new'); + } + if (this.focusDate && date.valueOf() === this.focusDate.valueOf()) + cls.push('focused'); + // Compare internal UTC date with UTC today, not local today + if (this.o.todayHighlight && isUTCEquals(date, today)) { + cls.push('today'); + } + if (this.dates.contains(date) !== -1) + cls.push('active'); + if (!this.dateWithinRange(date)){ + cls.push('disabled'); + } + if (this.dateIsDisabled(date)){ + cls.push('disabled', 'disabled-date'); + } + if ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){ + cls.push('highlighted'); + } + + if (this.range){ + if (date > this.range[0] && date < this.range[this.range.length-1]){ + cls.push('range'); + } + if ($.inArray(date.valueOf(), this.range) !== -1){ + cls.push('selected'); + } + if (date.valueOf() === this.range[0]){ + cls.push('range-start'); + } + if (date.valueOf() === this.range[this.range.length-1]){ + cls.push('range-end'); + } + } + return cls; + }, + + _fill_yearsView: function(selector, cssClass, factor, year, startYear, endYear, beforeFn){ + var html = ''; + var step = factor / 10; + var view = this.picker.find(selector); + var startVal = Math.floor(year / factor) * factor; + var endVal = startVal + step * 9; + var focusedVal = Math.floor(this.viewDate.getFullYear() / step) * step; + var selected = $.map(this.dates, function(d){ + return Math.floor(d.getUTCFullYear() / step) * step; + }); + + var classes, tooltip, before; + for (var currVal = startVal - step; currVal <= endVal + step; currVal += step) { + classes = [cssClass]; + tooltip = null; + + if (currVal === startVal - step) { + classes.push('old'); + } else if (currVal === endVal + step) { + classes.push('new'); + } + if ($.inArray(currVal, selected) !== -1) { + classes.push('active'); + } + if (currVal < startYear || currVal > endYear) { + classes.push('disabled'); + } + if (currVal === focusedVal) { + classes.push('focused'); + } + + if (beforeFn !== $.noop) { + before = beforeFn(new Date(currVal, 0, 1)); + if (before === undefined) { + before = {}; + } else if (typeof before === 'boolean') { + before = {enabled: before}; + } else if (typeof before === 'string') { + before = {classes: before}; + } + if (before.enabled === false) { + classes.push('disabled'); + } + if (before.classes) { + classes = classes.concat(before.classes.split(/\s+/)); + } + if (before.tooltip) { + tooltip = before.tooltip; + } + } + + html += '<span class="' + classes.join(' ') + '"' + (tooltip ? ' title="' + tooltip + '"' : '') + '>' + currVal + '</span>'; + } + + view.find('.datepicker-switch').text(startVal + '-' + endVal); + view.find('td').html(html); + }, + + fill: function(){ + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + todaytxt = dates[this.o.language].today || dates['en'].today || '', + cleartxt = dates[this.o.language].clear || dates['en'].clear || '', + titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat, + todayDate = UTCToday(), + titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate), + tooltip, + before; + if (isNaN(year) || isNaN(month)) + return; + this.picker.find('.datepicker-days .datepicker-switch') + .text(DPGlobal.formatDate(d, titleFormat, this.o.language)); + this.picker.find('tfoot .today') + .text(todaytxt) + .css('display', titleBtnVisible ? 'table-cell' : 'none'); + this.picker.find('tfoot .clear') + .text(cleartxt) + .css('display', this.o.clearBtn === true ? 'table-cell' : 'none'); + this.picker.find('thead .datepicker-title') + .text(this.o.title) + .css('display', typeof this.o.title === 'string' && this.o.title !== '' ? 'table-cell' : 'none'); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month, 0), + day = prevMonth.getUTCDate(); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + if (prevMonth.getUTCFullYear() < 100){ + nextMonth.setUTCFullYear(prevMonth.getUTCFullYear()); + } + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var weekDay, clsName; + while (prevMonth.valueOf() < nextMonth){ + weekDay = prevMonth.getUTCDay(); + if (weekDay === this.o.weekStart){ + html.push('<tr>'); + if (this.o.calendarWeeks){ + // ISO 8601: First week contains first thursday. + // ISO also states week starts on Monday, but we can be more abstract here. + var + // Start of current week: based on weekstart/current date + ws = new Date(+prevMonth + (this.o.weekStart - weekDay - 7) % 7 * 864e5), + // Thursday of this week + th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), + // First Thursday of year, year from thursday + yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5), + // Calendar week: ms between thursdays, div ms per day, div 7 days + calWeek = (th - yth) / 864e5 / 7 + 1; + html.push('<td class="cw">'+ calWeek +'</td>'); + } + } + clsName = this.getClassNames(prevMonth); + clsName.push('day'); + + var content = prevMonth.getUTCDate(); + + if (this.o.beforeShowDay !== $.noop){ + before = this.o.beforeShowDay(this._utc_to_local(prevMonth)); + if (before === undefined) + before = {}; + else if (typeof before === 'boolean') + before = {enabled: before}; + else if (typeof before === 'string') + before = {classes: before}; + if (before.enabled === false) + clsName.push('disabled'); + if (before.classes) + clsName = clsName.concat(before.classes.split(/\s+/)); + if (before.tooltip) + tooltip = before.tooltip; + if (before.content) + content = before.content; + } + + //Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2) + //Fallback to unique function for older jquery versions + if ($.isFunction($.uniqueSort)) { + clsName = $.uniqueSort(clsName); + } else { + clsName = $.unique(clsName); + } + + html.push('<td class="'+clsName.join(' ')+'"' + (tooltip ? ' title="'+tooltip+'"' : '') + ' data-date="' + prevMonth.getTime().toString() + '">' + content + '</td>'); + tooltip = null; + if (weekDay === this.o.weekEnd){ + html.push('</tr>'); + } + prevMonth.setUTCDate(prevMonth.getUTCDate() + 1); + } + this.picker.find('.datepicker-days tbody').html(html.join('')); + + var monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months'; + var months = this.picker.find('.datepicker-months') + .find('.datepicker-switch') + .text(this.o.maxViewMode < 2 ? monthsTitle : year) + .end() + .find('tbody span').removeClass('active'); + + $.each(this.dates, function(i, d){ + if (d.getUTCFullYear() === year) + months.eq(d.getUTCMonth()).addClass('active'); + }); + + if (year < startYear || year > endYear){ + months.addClass('disabled'); + } + if (year === startYear){ + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear){ + months.slice(endMonth+1).addClass('disabled'); + } + + if (this.o.beforeShowMonth !== $.noop){ + var that = this; + $.each(months, function(i, month){ + var moDate = new Date(year, i, 1); + var before = that.o.beforeShowMonth(moDate); + if (before === undefined) + before = {}; + else if (typeof before === 'boolean') + before = {enabled: before}; + else if (typeof before === 'string') + before = {classes: before}; + if (before.enabled === false && !$(month).hasClass('disabled')) + $(month).addClass('disabled'); + if (before.classes) + $(month).addClass(before.classes); + if (before.tooltip) + $(month).prop('title', before.tooltip); + }); + } + + // Generating decade/years picker + this._fill_yearsView( + '.datepicker-years', + 'year', + 10, + year, + startYear, + endYear, + this.o.beforeShowYear + ); + + // Generating century/decades picker + this._fill_yearsView( + '.datepicker-decades', + 'decade', + 100, + year, + startYear, + endYear, + this.o.beforeShowDecade + ); + + // Generating millennium/centuries picker + this._fill_yearsView( + '.datepicker-centuries', + 'century', + 1000, + year, + startYear, + endYear, + this.o.beforeShowCentury + ); + }, + + updateNavArrows: function(){ + if (!this._allow_update) + return; + + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + prevIsDisabled, + nextIsDisabled, + factor = 1; + switch (this.viewMode){ + case 4: + factor *= 10; + /* falls through */ + case 3: + factor *= 10; + /* falls through */ + case 2: + factor *= 10; + /* falls through */ + case 1: + prevIsDisabled = Math.floor(year / factor) * factor <= startYear; + nextIsDisabled = Math.floor(year / factor) * factor + factor > endYear; + break; + case 0: + prevIsDisabled = year <= startYear && month <= startMonth; + nextIsDisabled = year >= endYear && month >= endMonth; + break; + } + + this.picker.find('.prev').toggleClass('disabled', prevIsDisabled); + this.picker.find('.next').toggleClass('disabled', nextIsDisabled); + }, + + click: function(e){ + e.preventDefault(); + e.stopPropagation(); + + var target, dir, day, year, month; + target = $(e.target); + + // Clicked on the switch + if (target.hasClass('datepicker-switch') && this.viewMode !== this.o.maxViewMode){ + this.setViewMode(this.viewMode + 1); + } + + // Clicked on today button + if (target.hasClass('today') && !target.hasClass('day')){ + this.setViewMode(0); + this._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view'); + } + + // Clicked on clear button + if (target.hasClass('clear')){ + this.clearDates(); + } + + if (!target.hasClass('disabled')){ + // Clicked on a month, year, decade, century + if (target.hasClass('month') + || target.hasClass('year') + || target.hasClass('decade') + || target.hasClass('century')) { + this.viewDate.setUTCDate(1); + + day = 1; + if (this.viewMode === 1){ + month = target.parent().find('span').index(target); + year = this.viewDate.getUTCFullYear(); + this.viewDate.setUTCMonth(month); + } else { + month = 0; + year = Number(target.text()); + this.viewDate.setUTCFullYear(year); + } + + this._trigger(DPGlobal.viewModes[this.viewMode - 1].e, this.viewDate); + + if (this.viewMode === this.o.minViewMode){ + this._setDate(UTCDate(year, month, day)); + } else { + this.setViewMode(this.viewMode - 1); + this.fill(); + } + } + } + + if (this.picker.is(':visible') && this._focused_from){ + this._focused_from.focus(); + } + delete this._focused_from; + }, + + dayCellClick: function(e){ + var $target = $(e.currentTarget); + var timestamp = $target.data('date'); + var date = new Date(timestamp); + + if (this.o.updateViewDate) { + if (date.getUTCFullYear() !== this.viewDate.getUTCFullYear()) { + this._trigger('changeYear', this.viewDate); + } + + if (date.getUTCMonth() !== this.viewDate.getUTCMonth()) { + this._trigger('changeMonth', this.viewDate); + } + } + this._setDate(date); + }, + + // Clicked on prev or next + navArrowsClick: function(e){ + var $target = $(e.currentTarget); + var dir = $target.hasClass('prev') ? -1 : 1; + if (this.viewMode !== 0){ + dir *= DPGlobal.viewModes[this.viewMode].navStep * 12; + } + this.viewDate = this.moveMonth(this.viewDate, dir); + this._trigger(DPGlobal.viewModes[this.viewMode].e, this.viewDate); + this.fill(); + }, + + _toggle_multidate: function(date){ + var ix = this.dates.contains(date); + if (!date){ + this.dates.clear(); + } + + if (ix !== -1){ + if (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){ + this.dates.remove(ix); + } + } else if (this.o.multidate === false) { + this.dates.clear(); + this.dates.push(date); + } + else { + this.dates.push(date); + } + + if (typeof this.o.multidate === 'number') + while (this.dates.length > this.o.multidate) + this.dates.remove(0); + }, + + _setDate: function(date, which){ + if (!which || which === 'date') + this._toggle_multidate(date && new Date(date)); + if ((!which && this.o.updateViewDate) || which === 'view') + this.viewDate = date && new Date(date); + + this.fill(); + this.setValue(); + if (!which || which !== 'view') { + this._trigger('changeDate'); + } + this.inputField.trigger('change'); + if (this.o.autoclose && (!which || which === 'date')){ + this.hide(); + } + }, + + moveDay: function(date, dir){ + var newDate = new Date(date); + newDate.setUTCDate(date.getUTCDate() + dir); + + return newDate; + }, + + moveWeek: function(date, dir){ + return this.moveDay(date, dir * 7); + }, + + moveMonth: function(date, dir){ + if (!isValidDate(date)) + return this.o.defaultViewDate; + if (!dir) + return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1){ + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) + ? function(){ + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) + : function(){ + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + new_month = (new_month + 12) % 12; + } + else { + // For magnitudes >1, move one month at a time... + for (var i=0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function(){ + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()){ + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function(date, dir){ + return this.moveMonth(date, dir*12); + }, + + moveAvailableDate: function(date, dir, fn){ + do { + date = this[fn](date, dir); + + if (!this.dateWithinRange(date)) + return false; + + fn = 'moveDay'; + } + while (this.dateIsDisabled(date)); + + return date; + }, + + weekOfDateIsDisabled: function(date){ + return $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1; + }, + + dateIsDisabled: function(date){ + return ( + this.weekOfDateIsDisabled(date) || + $.grep(this.o.datesDisabled, function(d){ + return isUTCEquals(date, d); + }).length > 0 + ); + }, + + dateWithinRange: function(date){ + return date >= this.o.startDate && date <= this.o.endDate; + }, + + keydown: function(e){ + if (!this.picker.is(':visible')){ + if (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker + this.show(); + e.stopPropagation(); + } + return; + } + var dateChanged = false, + dir, newViewDate, + focusDate = this.focusDate || this.viewDate; + switch (e.keyCode){ + case 27: // escape + if (this.focusDate){ + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + } + else + this.hide(); + e.preventDefault(); + e.stopPropagation(); + break; + case 37: // left + case 38: // up + case 39: // right + case 40: // down + if (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7) + break; + dir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1; + if (this.viewMode === 0) { + if (e.ctrlKey){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear'); + + if (newViewDate) + this._trigger('changeYear', this.viewDate); + } else if (e.shiftKey){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth'); + + if (newViewDate) + this._trigger('changeMonth', this.viewDate); + } else if (e.keyCode === 37 || e.keyCode === 39){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay'); + } else if (!this.weekOfDateIsDisabled(focusDate)){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek'); + } + } else if (this.viewMode === 1) { + if (e.keyCode === 38 || e.keyCode === 40) { + dir = dir * 4; + } + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth'); + } else if (this.viewMode === 2) { + if (e.keyCode === 38 || e.keyCode === 40) { + dir = dir * 4; + } + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear'); + } + if (newViewDate){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 13: // enter + if (!this.o.forceParse) + break; + focusDate = this.focusDate || this.dates.get(-1) || this.viewDate; + if (this.o.keyboardNavigation) { + this._toggle_multidate(focusDate); + dateChanged = true; + } + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.setValue(); + this.fill(); + if (this.picker.is(':visible')){ + e.preventDefault(); + e.stopPropagation(); + if (this.o.autoclose) + this.hide(); + } + break; + case 9: // tab + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + this.hide(); + break; + } + if (dateChanged){ + if (this.dates.length) + this._trigger('changeDate'); + else + this._trigger('clearDate'); + this.inputField.trigger('change'); + } + }, + + setViewMode: function(viewMode){ + this.viewMode = viewMode; + this.picker + .children('div') + .hide() + .filter('.datepicker-' + DPGlobal.viewModes[this.viewMode].clsName) + .show(); + this.updateNavArrows(); + this._trigger('changeViewMode', new Date(this.viewDate)); + } + }; + + var DateRangePicker = function(element, options){ + $.data(element, 'datepicker', this); + this.element = $(element); + this.inputs = $.map(options.inputs, function(i){ + return i.jquery ? i[0] : i; + }); + delete options.inputs; + + this.keepEmptyValues = options.keepEmptyValues; + delete options.keepEmptyValues; + + datepickerPlugin.call($(this.inputs), options) + .on('changeDate', $.proxy(this.dateUpdated, this)); + + this.pickers = $.map(this.inputs, function(i){ + return $.data(i, 'datepicker'); + }); + this.updateDates(); + }; + DateRangePicker.prototype = { + updateDates: function(){ + this.dates = $.map(this.pickers, function(i){ + return i.getUTCDate(); + }); + this.updateRanges(); + }, + updateRanges: function(){ + var range = $.map(this.dates, function(d){ + return d.valueOf(); + }); + $.each(this.pickers, function(i, p){ + p.setRange(range); + }); + }, + clearDates: function(){ + $.each(this.pickers, function(i, p){ + p.clearDates(); + }); + }, + dateUpdated: function(e){ + // `this.updating` is a workaround for preventing infinite recursion + // between `changeDate` triggering and `setUTCDate` calling. Until + // there is a better mechanism. + if (this.updating) + return; + this.updating = true; + + var dp = $.data(e.target, 'datepicker'); + + if (dp === undefined) { + return; + } + + var new_date = dp.getUTCDate(), + keep_empty_values = this.keepEmptyValues, + i = $.inArray(e.target, this.inputs), + j = i - 1, + k = i + 1, + l = this.inputs.length; + if (i === -1) + return; + + $.each(this.pickers, function(i, p){ + if (!p.getUTCDate() && (p === dp || !keep_empty_values)) + p.setUTCDate(new_date); + }); + + if (new_date < this.dates[j]){ + // Date being moved earlier/left + while (j >= 0 && new_date < this.dates[j]){ + this.pickers[j--].setUTCDate(new_date); + } + } else if (new_date > this.dates[k]){ + // Date being moved later/right + while (k < l && new_date > this.dates[k]){ + this.pickers[k++].setUTCDate(new_date); + } + } + this.updateDates(); + + delete this.updating; + }, + destroy: function(){ + $.map(this.pickers, function(p){ p.destroy(); }); + $(this.inputs).off('changeDate', this.dateUpdated); + delete this.element.data().datepicker; + }, + remove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead') + }; + + function opts_from_el(el, prefix){ + // Derive options from element data-attrs + var data = $(el).data(), + out = {}, inkey, + replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'); + prefix = new RegExp('^' + prefix.toLowerCase()); + function re_lower(_,a){ + return a.toLowerCase(); + } + for (var key in data) + if (prefix.test(key)){ + inkey = key.replace(replace, re_lower); + out[inkey] = data[key]; + } + return out; + } + + function opts_from_locale(lang){ + // Derive options from locale plugins + var out = {}; + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + return; + } + var d = dates[lang]; + $.each(locale_opts, function(i,k){ + if (k in d) + out[k] = d[k]; + }); + return out; + } + + var old = $.fn.datepicker; + var datepickerPlugin = function(option){ + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function(){ + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data){ + var elopts = opts_from_el(this, 'date'), + // Preliminary otions + xopts = $.extend({}, defaults, elopts, options), + locopts = opts_from_locale(xopts.language), + // Options priority: js args, data-attrs, locales, defaults + opts = $.extend({}, defaults, locopts, elopts, options); + if ($this.hasClass('input-daterange') || opts.inputs){ + $.extend(opts, { + inputs: opts.inputs || $this.find('input').toArray() + }); + data = new DateRangePicker(this, opts); + } + else { + data = new Datepicker(this, opts); + } + $this.data('datepicker', data); + } + if (typeof option === 'string' && typeof data[option] === 'function'){ + internal_return = data[option].apply(data, args); + } + }); + + if ( + internal_return === undefined || + internal_return instanceof Datepicker || + internal_return instanceof DateRangePicker + ) + return this; + + if (this.length > 1) + throw new Error('Using only allowed for the collection of a single element (' + option + ' function)'); + else + return internal_return; + }; + $.fn.datepicker = datepickerPlugin; + + var defaults = $.fn.datepicker.defaults = { + assumeNearbyYear: false, + autoclose: false, + beforeShowDay: $.noop, + beforeShowMonth: $.noop, + beforeShowYear: $.noop, + beforeShowDecade: $.noop, + beforeShowCentury: $.noop, + calendarWeeks: false, + clearBtn: false, + toggleActive: false, + daysOfWeekDisabled: [], + daysOfWeekHighlighted: [], + datesDisabled: [], + endDate: Infinity, + forceParse: true, + format: 'mm/dd/yyyy', + keepEmptyValues: false, + keyboardNavigation: true, + language: 'en', + minViewMode: 0, + maxViewMode: 4, + multidate: false, + multidateSeparator: ',', + orientation: "auto", + rtl: false, + startDate: -Infinity, + startView: 0, + todayBtn: false, + todayHighlight: false, + updateViewDate: true, + weekStart: 0, + disableTouchKeyboard: false, + enableOnReadonly: true, + showOnFocus: true, + zIndexOffset: 10, + container: 'body', + immediateUpdates: false, + title: '', + templates: { + leftArrow: '«', + rightArrow: '»' + }, + showWeekDays: true + }; + var locale_opts = $.fn.datepicker.locale_opts = [ + 'format', + 'rtl', + 'weekStart' + ]; + $.fn.datepicker.Constructor = Datepicker; + var dates = $.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear", + titleFormat: "MM yyyy" + } + }; + + var DPGlobal = { + viewModes: [ + { + names: ['days', 'month'], + clsName: 'days', + e: 'changeMonth' + }, + { + names: ['months', 'year'], + clsName: 'months', + e: 'changeYear', + navStep: 1 + }, + { + names: ['years', 'decade'], + clsName: 'years', + e: 'changeDecade', + navStep: 10 + }, + { + names: ['decades', 'century'], + clsName: 'decades', + e: 'changeCentury', + navStep: 100 + }, + { + names: ['centuries', 'millennium'], + clsName: 'centuries', + e: 'changeMillennium', + navStep: 1000 + } + ], + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g, + parseFormat: function(format){ + if (typeof format.toValue === 'function' && typeof format.toDisplay === 'function') + return format; + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts, '\0').split('\0'), + parts = format.match(this.validParts); + if (!separators || !separators.length || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separators: separators, parts: parts}; + }, + parseDate: function(date, format, language, assumeNearby){ + if (!date) + return undefined; + if (date instanceof Date) + return date; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + if (format.toValue) + return format.toValue(date, format, language); + var fn_map = { + d: 'moveDay', + m: 'moveMonth', + w: 'moveWeek', + y: 'moveYear' + }, + dateAliases = { + yesterday: '-1d', + today: '+0d', + tomorrow: '+1d' + }, + parts, part, dir, i, fn; + if (date in dateAliases){ + date = dateAliases[date]; + } + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(date)){ + parts = date.match(/([\-+]\d+)([dmwy])/gi); + date = new Date(); + for (i=0; i < parts.length; i++){ + part = parts[i].match(/([\-+]\d+)([dmwy])/i); + dir = Number(part[1]); + fn = fn_map[part[2].toLowerCase()]; + date = Datepicker.prototype[fn](date, dir); + } + return Datepicker.prototype._zero_utc_time(date); + } + + parts = date && date.match(this.nonpunctuation) || []; + + function applyNearbyYear(year, threshold){ + if (threshold === true) + threshold = 10; + + // if year is 2 digits or less, than the user most likely is trying to get a recent century + if (year < 100){ + year += 2000; + // if the new year is more than threshold years in advance, use last century + if (year > ((new Date()).getFullYear()+threshold)){ + year -= 100; + } + } + + return year; + } + + var parsed = {}, + setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], + setters_map = { + yyyy: function(d,v){ + return d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v); + }, + m: function(d,v){ + if (isNaN(d)) + return d; + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + d.setUTCDate(d.getUTCDate()-1); + return d; + }, + d: function(d,v){ + return d.setUTCDate(v); + } + }, + val, filtered; + setters_map['yy'] = setters_map['yyyy']; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + date = UTCToday(); + var fparts = format.parts.slice(); + // Remove noop parts + if (parts.length !== fparts.length){ + fparts = $(fparts).filter(function(i,p){ + return $.inArray(p, setters_order) !== -1; + }).toArray(); + } + // Process remainder + function match_part(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m.toLowerCase() === p.toLowerCase(); + } + if (parts.length === fparts.length){ + var cnt; + for (i=0, cnt = fparts.length; i < cnt; i++){ + val = parseInt(parts[i], 10); + part = fparts[i]; + if (isNaN(val)){ + switch (part){ + case 'MM': + filtered = $(dates[language].months).filter(match_part); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(match_part); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + } + } + parsed[part] = val; + } + var _date, s; + for (i=0; i < setters_order.length; i++){ + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])){ + _date = new Date(date); + setters_map[s](_date, parsed[s]); + if (!isNaN(_date)) + date = _date; + } + } + } + return date; + }, + formatDate: function(date, format, language){ + if (!date) + return ''; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + if (format.toDisplay) + return format.toDisplay(date, format, language); + var val = { + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + date = []; + var seps = $.extend([], format.separators); + for (var i=0, cnt = format.parts.length; i <= cnt; i++){ + if (seps.length) + date.push(seps.shift()); + date.push(val[format.parts[i]]); + } + return date.join(''); + }, + headTemplate: '<thead>'+ + '<tr>'+ + '<th colspan="7" class="datepicker-title"></th>'+ + '</tr>'+ + '<tr>'+ + '<th class="prev">'+defaults.templates.leftArrow+'</th>'+ + '<th colspan="5" class="datepicker-switch"></th>'+ + '<th class="next">'+defaults.templates.rightArrow+'</th>'+ + '</tr>'+ + '</thead>', + contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>', + footTemplate: '<tfoot>'+ + '<tr>'+ + '<th colspan="7" class="today"></th>'+ + '</tr>'+ + '<tr>'+ + '<th colspan="7" class="clear"></th>'+ + '</tr>'+ + '</tfoot>' + }; + DPGlobal.template = '<div class="datepicker">'+ + '<div class="datepicker-days">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + '<tbody></tbody>'+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-months">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-years">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-decades">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-centuries">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '</div>'; + + $.fn.datepicker.DPGlobal = DPGlobal; + + + /* DATEPICKER NO CONFLICT + * =================== */ + + $.fn.datepicker.noConflict = function(){ + $.fn.datepicker = old; + return this; + }; + + /* DATEPICKER VERSION + * =================== */ + $.fn.datepicker.version = '1.9.0'; + + $.fn.datepicker.deprecated = function(msg){ + var console = window.console; + if (console && console.warn) { + console.warn('DEPRECATED: ' + msg); + } + }; + + + /* DATEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datepicker.data-api click.datepicker.data-api', + '[data-provide="datepicker"]', + function(e){ + var $this = $(this); + if ($this.data('datepicker')) + return; + e.preventDefault(); + // component click requires us to explicitly show it + datepickerPlugin.call($this, 'show'); + } + ); + $(function(){ + datepickerPlugin.call($('[data-provide="datepicker-inline"]')); + }); + +})); +/* + * Copyright 2018-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * WebSite: http://bootstrap-viewer.leftso.com + */ + +$.fn.bootstrapViewer = function (options) { + $(this).on('click', function () { + var opts = $.extend({}, $.fn.bootstrapViewer.defaults, options); + var viewer = $('<div class="modal fade bs-example-modal-lg text-center" id="bootstrapViewer" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" >\n' + + ' <div class="modal-dialog modal-lg" style="display: inline-block; width: auto;">\n' + + ' <div class="modal-content">\n' + + ' <img' + + '\t\t\t class="carousel-inner img-responsive img-rounded img-viewer" \n' + + '\t\t\t onclick="$(\'#bootstrapViewer\').modal(\'hide\');setTimeout(function(){$(\'#bootstrapViewer\').remove();},200);"\n' + + '\t\t\t onmouseover="this.style.cursor=\'zoom-out\';" \n' + + '\t\t\t onmouseout="this.style.cursor=\'default\'" \n' + + '\t\t\t />\n' + + ' </div>\n' + + ' </div>\n' + + ' </div>'); + $('body').append(viewer); + if ($(this).attr(opts.src)) { + $("#bootstrapViewer").find(".img-viewer").attr("src", $(this).attr(opts.src)); + $("#bootstrapViewer").modal(); + } else { + throw "图片不存在" + } + + }) + + $(this).on('mouseover', function () { + $(this).css('cursor', 'zoom-in'); + }) + +} +$.fn.bootstrapViewer.defaults = { + src: 'src' +} +; +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + define( ["jquery", "../jquery.validate"], factory ); + } else { + factory( jQuery ); + } +}(function( $ ) { + + /* + * Translated default messages for the jQuery validation plugin. + * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) + */ + $.extend($.validator.messages, { + required: "这是必填字段", + remote: "请修正此字段", + email: "请输入有效的电子邮件地址", + url: "请输入有效的网址", + date: "请输入有效的日期", + dateISO: "请输入有效的日期 (YYYY-MM-DD)", + number: "请输入有效的数字", + digits: "只能输入数字", + creditcard: "请输入有效的信用卡号码", + equalTo: "你的输入不相同", + extension: "请输入有效的后缀", + maxlength: $.validator.format("最多可以输入 {0} 个字符"), + minlength: $.validator.format("最少要输入 {0} 个字符"), + rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"), + range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"), + max: $.validator.format("请输入不大于 {0} 的数值"), + min: $.validator.format("请输入不小于 {0} 的数值") + }); + +})); +/*! Select2 4.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */ + + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); +$(document).on('turbolinks:load', function() { + var $refuseModal = $('.admin-common-refuse-modal'); + if ($refuseModal.length > 0) { + var $form = $refuseModal.find('form.admin-common-refuse-form'); + var $applyIdInput = $refuseModal.find('.modal-body input[name="apply_id"]'); + + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + reason: { + required: true, + maxlength: 200 + }, + } + }); + + // modal ready fire + $refuseModal.on('show.bs.modal', function (event) { + var $link = $(event.relatedTarget); + + var applyId = $link.data('id'); + var url = $link.data('url'); + + $applyIdInput.val(applyId); + $form.data('url', url); + }); + // modal visited fire + $refuseModal.on('shown.bs.modal', function(){ + $refuseModal.find('.modal-body input[name="reason"]').focus(); + }); + $refuseModal.on('hide.bs.modal', function () { + $applyIdInput.val(''); + $form.data('url', ''); + }) + + $refuseModal.on('click', '.submit-btn', function(){ + $form.find('.error').html(''); + + if ($form.valid()) { + var url = $form.data('url'); + + $.ajax({ + method: 'POST', + dataType: 'script', + url: url, + data: $form.serialize(), + }).done(function(){ + $refuseModal.modal('hide'); + }); + } + }); + } +}); +$(document).on('turbolinks:load', function(){ + if ($('body.admins-daily-school-statistics-index-page').length > 0) { + $('.export-action').on('click', function(){ + var form = $(".daily-school-statistic-list-form .search-form") + var exportLink = $(this); + var keyword = form.find("input[name='keyword']").val(); + + var url = exportLink.data("url").split('?')[0] + "?keyword=" + keyword; + window.open(url); + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-identity-authentications-index-page').length > 0) { + var $searchFrom = $('.identity-authentication-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-professional-authentications-index-page').length > 0) { + var $searchFrom = $('.professional-authentication-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function(){ + if ($('body.admins-school-statistics-index-page').length > 0) { + var searchForm = $(".school-statistic-list-form .search-form"); + var growFormUrl = searchForm.data('grow-form-url'); + var contrastFormUrl = searchForm.data('contrast-form-url'); + + var dataTypeInput = searchForm.find("input[name='data_type']"); + var keywordInput = searchForm.find("input[name='keyword']"); + var contrastBtn = searchForm.find(".contrast-btn"); + var growBtn = searchForm.find(".grow-btn"); + var contrastDateContainer = searchForm.find('.contrast-date-container'); + var growDateContainer = searchForm.find('.grow-date-container'); + + // 数据对比日期输入框 + var beginDateInput = searchForm.find("input[name='begin_date']"); + var endDateInput = searchForm.find("input[name='end_date']"); + var otherBeginDateInput = searchForm.find("input[name='other_begin_date']"); + var otherEndDateInput = searchForm.find("input[name='other_end_date']"); + + // 新增数据日期输入框 + var growBeginDateInput = searchForm.find("input[name='grow_begin_date']"); + var growEndDateInput = searchForm.find("input[name='grow_end_date']"); + + // 数据展示切换: 数据对比、新增数据 + searchForm.on('click', ".contrast-btn", function(){ + if(contrastBtn.hasClass("active")) { return } + changeDataType("contrast"); + submitForm(); + }); + searchForm.on('click', ".grow-btn", function(){ + if(growBtn.hasClass("active")) { return } + changeDataType("grow"); + submitForm(); + }); + + // 搜索按钮 + searchForm.on('click', ".search-btn", function(){ + console.log('submit'); + submitForm(); + }); + + $('.school-statistic-list-container').on('change', '.contrast-column-select', function() { + searchForm.find("input[name='contrast_column']").val($('.contrast-column-select').val()); + submitForm(); + }); + + var submitForm = function(){ + if(!validateFrom()) { return } + + var form = searchForm; + var url = dataTypeInput.val() == "contrast" ? contrastFormUrl : growFormUrl; + + $.ajax({ + url: url, + data: form.serialize(), + dataType: "script" + }) + }; + + var validateFrom = function(){ + if (dataTypeInput.val() != "contrast") { return true; } + + // 全部为空时,需要展示空数据页 + if (beginDateInput.val() == "" && endDateInput.val() == "" && + otherBeginDateInput.val() == "" && otherBeginDateInput.val() == "") { + return true; + } + + if (beginDateInput.val() != "" && endDateInput.val() != "" && + otherBeginDateInput.val() != "" && otherBeginDateInput.val() != "") { + return true; + } + + return false; + }; + + var changeDataType = function(dataType){ + if (dataTypeInput.val() == dataType) { return } + + if (dataType == "contrast") { + contrastBtn.addClass("active"); + growBtn.removeClass("active"); + dataTypeInput.val('contrast'); + growDateContainer.hide(); + contrastDateContainer.show(); + + clearGrowDateInput(); + } else { + contrastBtn.removeClass("active"); + growBtn.addClass("active"); + dataTypeInput.val('grow'); + growDateContainer.show(); + contrastDateContainer.hide(); + + clearContrastDateInput(); + } + }; + + var clearGrowDateInput = function() { + searchForm.find("input[name='grow_begin_date']").val(''); + searchForm.find("input[name='grow_end_date']").val(''); + searchForm.find("input[name='grow_date_input']").val(''); + }; + + var clearContrastDateInput = function(){ + searchForm.find("input[name='begin_date']").val(''); + searchForm.find("input[name='end_date']").val(''); + searchForm.find("input[name='other_begin_date']").val(''); + searchForm.find("input[name='other_end_date']").val(''); + searchForm.find("input[name='date_input']").val(''); + searchForm.find("input[name='other_date_input']").val(''); + }; + + var baseOptions = { + autoclose: true, + language: 'zh-CN', + format: 'yyyy-mm-dd', + startDate: '2017-04-01', + endDate: '-1d' + } + + var defineDateRangeSelect = function(element){ + var options = $.extend({inputs: $(element).find('.start-date, .end-date')}, baseOptions); + $(element).datepicker(options); + + $(element).find('.start-date').datepicker().on('changeDate', function(e){ + $(element).find('.end-date').datepicker('setStartDate', e.date); + }) + }; + + defineDateRangeSelect('.grow-date-input-daterange'); + defineDateRangeSelect('.date-input-daterange'); + defineDateRangeSelect('.other-date-input-daterange'); + } +}) +; +$(document).on('turbolinks:load', function() { + var $tabs = $('.search-form-container .search-form-tabs'); + if ($tabs.length > 0) { + $tabs.on('click', '.search-form-tab', function(){ + var $activeTab = $(this); + $tabs.find('.search-form-tab').removeClass('active'); + $activeTab.addClass('active'); + }); + } +}); +$(document).on('turbolinks:load', function() { + if ($('body.admins-shixun-authorizations-index-page').length > 0) { + var $searchFrom = $('.shixun-authorization-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function(){ + $('#sidebarCollapse').on('click', function () { + $(this).toggleClass('active'); + $('#sidebar').toggleClass('active'); + $.cookie('admin_sidebar_collapse', $(this).hasClass('active'), {path: '/admins'}); + }); + + var sidebarController = $('#sidebar').data('current-controller'); + if (sidebarController.length > 0) { + $('#sidebar a.active').removeClass('active'); + $('#sidebar ul.collapse.show').removeClass('show'); + var activeLi = $('#sidebar a[data-controller="' + sidebarController + '"]'); + activeLi.addClass('active'); + activeLi.parent().parent('ul.collapse').addClass('show'); + } +}); +$(document).on('turbolinks:load', function() { + if ($('body.admins-subject-authorizations-index-page').length > 0) { + var $searchFrom = $('.subject-authorization-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-users-edit-page, body.admins-users-update-page').length > 0) { + var initDepartmentSelect = true; + + // ************** 学校选择 ************* + var matcherFunc = function(params, data){ + if ($.trim(params.term) === '') { + return data; + } + if (typeof data.text === 'undefined') { + return null; + } + + if (data.name && data.name.indexOf(params.term) > -1) { + var modifiedData = $.extend({}, data, true); + return modifiedData; + } + + // Return `null` if the term should not be displayed + return null; + } + + var defineSchoolSelect = function (schools) { + $('.school-select').select2({ + theme: 'bootstrap4', + placeholder: '查询学校/单位', + minimumInputLength: 1, + data: schools, + templateResult: function (item) { + if(!item.id || item.id === '') return item.text; + return item.name; + }, + templateSelection: function(item){ + if (item.id) { + $('#user_school_id').val(item.id); + getDepartmentsData(item.id, defineDepartmentSelect2); + } + return item.name || item.text; + }, + matcher: matcherFunc + }); + }; + + var defineDepartmentSelect2 = function(departments){ + departments.unshift({ id: '-1', name: '未选择' }); // 可不选 + + if (!initDepartmentSelect) { $('.department-select').empty(); } // 为了能够回填部门 + initDepartmentSelect = false; + + $('.department-select').select2({ + theme: 'bootstrap4', + placeholder: '查询学院/部门', + minimumInputLength: 0, + data: departments, + templateResult: function (item) { + if(!item.id || item.id === '') return item.text; + return item.name; + }, + templateSelection: function(item){ + if (item.id) { + $('#user_department_id').val(item.id); + } + return item.name || item.text; + }, + matcher: matcherFunc + }); + }; + + var getDepartmentsData = function(school_id, callback){ + $.ajax({ + url: '/api/schools/' + school_id + '/departments/for_option.json', + dataType: 'json', + type: 'GET', + success: function(data) { + callback(data.departments); + } + }) + } + + // 初始化学校选择器 + $.ajax({ + url: '/api/schools/for_option.json', + dataType: 'json', + type: 'GET', + success: function(data) { + defineSchoolSelect(data.schools); + } + }); + + // **************** 地区选择 **************** + $('.province-city-select').cxSelect({ + url: '/javascripts/educoder/province-data.json', + selects: ['province-select', 'city-select'] + }); + + // *********** 职业选择 ************ + var identityData = [ + { + "v": "teacher", + "n": "教师", + "s": [{"n": "教授", "v": "教授"},{"n": "副教授", "v": "副教授"},{"n": "讲师", "v": "讲师"},{"n": "助教", "v": "助教"}] + }, + { + "v": "student", + "n": "学生", + "s": [] + }, + { + "v": "professional", + "n": "专业人士", + "s": [{"n": "企业管理者", "v": "企业管理者"},{"n": "部门管理者", "v": "部门管理者"},{"n": "高级工程师", "v": "高级工程师"},{"n": "工程师", "v": "工程师"},{"n": "助理工程师", "v": "助理工程师"}] + } + ]; + $('.user-identity-select').cxSelect({ + data: identityData, + jsonValue: 'v', + selects: ['identity-select', 'technical-title-select'] + }); + $('.identity-select').on('change', function(){ + if($(this).val() === 'student'){ + $('.technical-title-select-wrapper').hide(); + $('.form-group.user_student_id').show(); + } else { + $('.technical-title-select-wrapper').show(); + $('.form-group.user_student_id').hide(); + } + }) + + + var $form = $('form.edit_user') + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + "user[password]": { + required: false, + minlength: 5 + }, + "user[password_confirmation]": { + required: false, + minlength: 5, + equalTo: "#user_password" + }, + }, + messages: { + "user[password_confirmation]": { + equalTo: "两次密码输入不一致" + } + } + }) + + $form.submit(function(e){ + if(!$form.valid()){ e.preventDefault(); } + }) + } +}); +$(document).on('turbolinks:load', function(){ + if ($('body.admins-users-index-page').length > 0) { + + var showSuccessNotify = function() { + $.notify({ + message: '操作成功' + },{ + type: 'success' + }); + } + + // lock user + $('.users-list-container').on('click', '.lock-action', function(){ + var $lockAction = $(this); + var $unlockAction = $lockAction.siblings('.unlock-action'); + + var userId = $lockAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/lock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $lockAction.hide(); + $unlockAction.show(); + } + }); + }); + + // unlock user + $('.users-list-container').on('click', '.unlock-action', function(){ + var $unlockAction = $(this); + var $lockAction = $unlockAction.siblings('.lock-action'); + + var userId = $unlockAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/unlock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $lockAction.show(); + $unlockAction.hide(); + } + }); + }); + + // active user + $('.users-list-container').on('click', '.active-action', function(){ + var $activeAction = $(this); + var $unlockAction = $activeAction.siblings('.unlock-action'); + var $lockAction = $activeAction.siblings('.lock-action'); + + var userId = $activeAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/unlock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $activeAction.hide(); + $lockAction.show(); + $unlockAction.hide(); + } + }); + }); + + // ***************** reward grade modal ***************** + var $rewardGradeModal = $('.admin-users-reward-grade-modal'); + var $form = $rewardGradeModal.find('form.admin-users-reward-grade-form'); + + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + grade: { + required: true, + digits: true + }, + } + }); + + // modal ready fire + $rewardGradeModal.on('show.bs.modal', function (event) { + var $link = $(event.relatedTarget); + + var userId = $link.data('id'); + $rewardGradeModal.find('.modal-body input[name="user_id"]').val(userId); + }); + // modal visited fire + $rewardGradeModal.on('shown.bs.modal', function(){ + $rewardGradeModal.find('.modal-body input[name="grade"]').focus(); + }); + + $('.admin-users-reward-grade-modal .submit-btn').on('click', function(){ + $form.find('.error').html(''); + + if ($form.valid()) { + var userId = $form.find('input[name="user_id"]').val(); + + $.ajax({ + method: 'POST', + dataType: 'json', + url: "/admins/users/" + userId + "/reward_grade", + data: $form.serialize(), + success: function(data) { + showSuccessNotify(); + $('.users-list-container .user-item-' + userId + ' td.grade-content').html(data.grade); + $rewardGradeModal.modal('hide'); + }, + error: function(res) { + $rewardGradeModal.find('.error').html(res.responseJSON.message); + } + }); + } + }); + } +}); + + + + + + + + + + + + + + + + + + +// ******** select2 global config ******** +$.fn.select2.defaults.set('theme', 'bootstrap4'); +$.fn.select2.defaults.set('language', 'zh-CN'); + +Turbolinks.setProgressBarDelay(200); + +$(document).on('turbolinks:load', function(){ + $('[data-toggle="tooltip"]').tooltip(); + $('[data-toggle="popover"]').popover(); + + // 图片查看大图 + $('img.preview-image').bootstrapViewer(); + + // flash alert提示框自动关闭 + if($('.admin-alert-container .alert').length > 0){ + setTimeout(function(){ + $('.admin-alert-container .alert').alert('close'); + }, 2000); + } +}); + +// var progressBar = new Turbolinks.ProgressBar(); + +// $(document).on('ajax:send', function(event){ +// console.log('ajax send', event); +// progressBar.setValue(0) +// progressBar.show() +// }); +// +// $(document).on('ajax:complete', function(event){ +// console.log('ajax complete', event); +// progressBar.setValue(1) +// progressBar.hide() // 分页时不触发,奇怪 +// }); +// $(document).on('ajax:success', function(event){ +// console.log('ajax success', event); +// }); +// $(document).on('ajax:error', function(event){ +// console.log('ajax error', event); +// }); + +$(function () { +}); diff --git a/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js.gz b/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js.gz new file mode 100644 index 000000000..dc9ae6dba Binary files /dev/null and b/public/assets/admin-6575f1399953fb1935c037a7b8bd28c4aff07b70bed9b41faf6899a89af4b57d.js.gz differ diff --git a/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css b/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css new file mode 100644 index 000000000..cfd303453 --- /dev/null +++ b/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css @@ -0,0 +1,18405 @@ +@charset "UTF-8"; +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_root.scss */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[tabindex="-1"]:focus { + outline: 0 !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +p { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dt { + font-weight: 700; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +/* line 148, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +blockquote { + margin: 0 0 1rem; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +b, +strong { + font-weight: bolder; +} + +/* line 157, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +small { + font-size: 80%; +} + +/* line 166, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub { + bottom: -.25em; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sup { + top: -.5em; +} + +/* line 182, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +/* line 226, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +/* line 240, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +figure { + margin: 0 0 1rem; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +img { + vertical-align: middle; + border-style: none; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +svg { + overflow: hidden; + vertical-align: middle; +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +table { + border-collapse: collapse; +} + +/* line 271, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +/* line 279, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +th { + text-align: inherit; +} + +/* line 290, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +/* line 299, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button { + border-radius: 0; +} + +/* line 308, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +/* line 313, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +/* line 324, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +input { + overflow: visible; +} + +/* line 329, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +select { + text-transform: none; +} + +/* line 337, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +select { + word-wrap: normal; +} + +/* line 345, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/* line 358, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +/* line 365, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +/* line 392, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +textarea { + overflow: auto; + resize: vertical; +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +/* line 413, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +/* line 425, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +progress { + vertical-align: baseline; +} + +/* line 430, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/* line 435, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +/* line 448, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* line 457, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +/* line 466, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +output { + display: inline-block; +} + +/* line 470, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +summary { + display: list-item; + cursor: pointer; +} + +/* line 475, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +template { + display: none; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[hidden] { + display: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, .h1 { + font-size: 2.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h2, .h2 { + font-size: 2rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h3, .h3 { + font-size: 1.75rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h4, .h4 { + font-size: 1.5rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h5, .h5 { + font-size: 1.25rem; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h6, .h6 { + font-size: 1rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +small, +.small { + font-size: 80%; + font-weight: 400; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-unstyled { + padding-left: 0; + list-style: none; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline { + padding-left: 0; + list-style: none; +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item { + display: inline-block; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +/* line 112, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer::before { + content: "\2014\00A0"; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-fluid { + max-width: 100%; + height: auto; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure { + display: inline-block; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +a > code { + color: inherit; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 1140px; + } +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .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-sm, +.col-sm-auto, .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-md, +.col-md-auto, .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-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-last { + -webkit-box-ordinal-group: 14; + order: 13; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-0 { + -webkit-box-ordinal-group: 1; + order: 0; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-1 { + -webkit-box-ordinal-group: 2; + order: 1; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-2 { + -webkit-box-ordinal-group: 3; + order: 2; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-3 { + -webkit-box-ordinal-group: 4; + order: 3; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-4 { + -webkit-box-ordinal-group: 5; + order: 4; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-5 { + -webkit-box-ordinal-group: 6; + order: 5; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-6 { + -webkit-box-ordinal-group: 7; + order: 6; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-7 { + -webkit-box-ordinal-group: 8; + order: 7; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-8 { + -webkit-box-ordinal-group: 9; + order: 8; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-9 { + -webkit-box-ordinal-group: 10; + order: 9; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-10 { + -webkit-box-ordinal-group: 11; + order: 10; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-11 { + -webkit-box-ordinal-group: 12; + order: 11; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-12 { + -webkit-box-ordinal-group: 13; + order: 12; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-1 { + margin-left: 8.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-2 { + margin-left: 16.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-3 { + margin-left: 25%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-4 { + margin-left: 33.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-5 { + margin-left: 41.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-6 { + margin-left: 50%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-7 { + margin-left: 58.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-8 { + margin-left: 66.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-9 { + margin-left: 75%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-10 { + margin-left: 83.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-11 { + margin-left: 91.66667%; +} + +@media (min-width: 576px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 768px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 992px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 1200px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-11 { + margin-left: 91.66667%; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered { + border: 1px solid #dee2e6; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-info:hover { + background-color: #abdde5; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-light:hover { + background-color: #ececf6; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark { + color: #fff; + background-color: #343a40; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-bordered { + border: 0; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive > .table-bordered { + border: 0; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-control { + -webkit-transition: none; + transition: none; + } +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +/* line 137, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 155, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +/* line 161, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +textarea.form-control { + height: auto; +} + +/* line 170, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-group { + margin-bottom: 1rem; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-text { + display: block; + margin-top: 0.25rem; +} + +/* line 184, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +/* line 190, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +/* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +/* line 213, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-label { + margin-bottom: 0; +} + +/* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline { + display: -webkit-inline-box; + display: inline-flex; + -webkit-box-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +/* line 229, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 258, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline { + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + /* line 272, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline label { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + margin-bottom: 0; + } + /* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-group { + display: -webkit-box; + display: flex; + -webkit-box-flex: 0; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; + margin-bottom: 0; + } + /* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + /* line 296, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control-plaintext { + display: inline-block; + } + /* line 300, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + /* line 307, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + /* line 314, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + /* line 322, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control { + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + } + /* line 326, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ + .btn { + -webkit-transition: none; + transition: none; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn:hover { + color: #212529; + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +/* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 120, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block { + display: block; + width: 100%; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .fade { + -webkit-transition: none; + transition: none; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade:not(.show) { + opacity: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapse:not(.show) { + display: none; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .collapsing { + -webkit-transition: none; + transition: none; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-toggle { + white-space: nowrap; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-left { + right: auto; + left: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 70, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: none; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu.show { + display: block; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: inline-flex; + vertical-align: middle; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar .input-group { + width: auto; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +/* line 121, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +/* line 127, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: stretch; + align-items: stretch; + width: 100%; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend, +.input-group-append { + display: -webkit-box; + display: flex; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend { + margin-right: -1px; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-append { + margin-left: -1px; +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 118, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 186, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-inline { + display: -webkit-inline-box; + display: inline-flex; + margin-right: 1rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 133, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 144, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +/* line 150, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch { + padding-left: 2.25rem; +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-switch .custom-control-label::after { + -webkit-transition: none; + transition: none; + } +} + +/* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 212, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 230, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +/* line 257, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +/* line 263, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select::-ms-expand { + display: none; +} + +/* line 268, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +/* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +/* line 297, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +/* line 305, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 310, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +/* line 315, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +/* line 320, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +/* line 325, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 342, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +/* line 366, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus { + outline: none; +} + +/* line 378, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 379, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 383, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-focus-outer { + border: 0; +} + +/* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +/* line 403, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-moz-range-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 424, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +/* line 429, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-ms-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 453, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +/* line 458, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +/* line 469, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 474, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +/* line 485, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +/* line 489, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +/* line 493, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +/* line 497, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +/* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before, +.custom-file-label, +.custom-select { + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-control-label::before, + .custom-file-label, + .custom-select { + -webkit-transition: none; + transition: none; + } +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-fill .nav-item { + -webkit-box-flex: 1; + flex: 1 1 auto; + text-align: center; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-justified .nav-item { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + text-align: center; +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .tab-pane { + display: none; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .active { + display: block; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar > .container, +.navbar > .container-fluid { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-collapse { + flex-basis: 100%; + -webkit-box-flex: 1; + flex-grow: 1; + -webkit-box-align: center; + align-items: center; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + flex-wrap: nowrap; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-toggler { + display: none; +} + +/* line 194, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 203, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +/* line 210, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +/* line 215, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +/* line 223, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +/* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 232, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +/* line 234, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 246, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-brand { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +/* line 275, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +/* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 284, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +/* line 286, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text a { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > hr { + margin-right: 0; + margin-left: 0; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-body { + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-title { + margin-bottom: 0.75rem; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-text:last-child { + margin-bottom: 0; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.card-link:hover { + text-decoration: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-link + .card-link { + margin-left: 1.25rem; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +/* line 109, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck .card { + display: -webkit-box; + display: flex; + -webkit-box-flex: 1; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +/* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + } + /* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card { + -webkit-box-flex: 1; + flex: 1 0 0%; + margin-bottom: 0; + } + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + /* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + /* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + /* line 207, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + /* line 214, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + /* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + /* line 238, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + /* line 249, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card { + overflow: hidden; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +/* line 270, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 281, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 285, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card .card-header { + margin-bottom: -1px; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item.active { + color: #6c757d; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.pagination { + display: -webkit-box; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ + .badge { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge:empty { + display: none; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.btn .badge { + position: relative; + top: -1px; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-primary { + color: #fff; + background-color: #007bff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-success { + color: #fff; + background-color: #28a745; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-dark { + color: #fff; + background-color: #343a40; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ + .jumbotron { + padding: 4rem 2rem; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-heading { + color: inherit; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-link { + font-weight: 700; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible { + padding-right: 4rem; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary hr { + border-top-color: #9fcdff; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary .alert-link { + color: #002752; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary .alert-link { + color: #202326; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success hr { + border-top-color: #b1dfbb; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success .alert-link { + color: #0b2e13; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info hr { + border-top-color: #abdde5; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info .alert-link { + color: #062c33; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning hr { + border-top-color: #ffe8a1; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning .alert-link { + color: #533f03; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger hr { + border-top-color: #f1b0b7; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger .alert-link { + color: #491217; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light hr { + border-top-color: #ececf6; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light .alert-link { + color: #686868; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark hr { + border-top-color: #b9bbbe; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress { + display: -webkit-box; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar { + -webkit-transition: none; + transition: none; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-striped { + background-image: 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-size: 1rem 1rem; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media-body { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +/* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:hover { + color: #000; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +a.close.disabled { + pointer-events: none; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.showing { + opacity: 1; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.show { + display: block; + opacity: 1; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.hide { + display: none; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-header { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-body { + padding: 0.75rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open { + overflow: hidden; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal.fade .modal-dialog { + -webkit-transition: none; + transition: none; + } +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable { + display: -webkit-box; + display: flex; + max-height: calc(100% - 1rem); +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +/* line 78, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + height: 100%; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-content { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.fade { + opacity: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.show { + opacity: 0.5; +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +/* line 151, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +/* line 158, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-body { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 176, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +/* line 181, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + /* line 197, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + /* line 200, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + /* line 205, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + /* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + /* line 221, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + /* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-xl { + max-width: 1140px; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip.show { + opacity: 0.9; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +/* line 163, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header:empty { + display: none; +} + +/* line 168, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel { + position: relative; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel.pointer-event { + touch-action: pan-y; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-item { + -webkit-transition: none; + transition: none; + } +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +/* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + -webkit-transition: 0s 0.6s opacity; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + /* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + -webkit-transition: none; + transition: none; + } +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-control-prev, + .carousel-control-next { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev { + left: 0; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next { + right: 0; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +/* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators li { + box-sizing: content-box; + -webkit-box-flex: 0; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-indicators li { + -webkit-transition: none; + transition: none; + } +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators .active { + opacity: 1; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-baseline { + vertical-align: baseline !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-top { + vertical-align: top !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-middle { + vertical-align: middle !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-bottom { + vertical-align: bottom !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-bottom { + vertical-align: text-bottom !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-top { + vertical-align: text-top !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-primary { + background-color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-secondary { + background-color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-success { + background-color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-info { + background-color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-warning { + background-color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-danger { + background-color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-light { + background-color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-dark { + background-color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-white { + background-color: #fff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-transparent { + background-color: transparent !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border { + border: 1px solid #dee2e6 !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-0 { + border: 0 !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top-0 { + border-top: 0 !important; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right-0 { + border-right: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom-0 { + border-bottom: 0 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left-0 { + border-left: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-primary { + border-color: #007bff !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-secondary { + border-color: #6c757d !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-success { + border-color: #28a745 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-info { + border-color: #17a2b8 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-warning { + border-color: #ffc107 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-danger { + border-color: #dc3545 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-light { + border-color: #f8f9fa !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-dark { + border-color: #343a40 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-white { + border-color: #fff !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-sm { + border-radius: 0.2rem !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded { + border-radius: 0.25rem !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-lg { + border-radius: 0.3rem !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-circle { + border-radius: 50% !important; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-pill { + border-radius: 50rem !important; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-0 { + border-radius: 0 !important; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-none { + display: none !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline { + display: inline !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-block { + display: inline-block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-block { + display: block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table { + display: table !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-row { + display: table-row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-cell { + display: table-cell !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-flex { + display: -webkit-box !important; + display: flex !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media print { + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-none { + display: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline { + display: inline !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-block { + display: inline-block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-block { + display: block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table { + display: table !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-row { + display: table-row !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-cell { + display: table-cell !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive::before { + display: block; + content: ""; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-21by9::before { + padding-top: 42.85714%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-4by3::before { + padding-top: 75%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-1by1::before { + padding-top: 100%; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap { + flex-wrap: wrap !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-nowrap { + flex-wrap: nowrap !important; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; +} + +/* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-center { + -webkit-box-pack: center !important; + justify-content: center !important; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-around { + justify-content: space-around !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-start { + -webkit-box-align: start !important; + align-items: flex-start !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-end { + -webkit-box-align: end !important; + align-items: flex-end !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-center { + -webkit-box-align: center !important; + align-items: center !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-start { + align-content: flex-start !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-end { + align-content: flex-end !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-center { + align-content: center !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-between { + align-content: space-between !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-around { + align-content: space-around !important; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-stretch { + align-content: stretch !important; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-auto { + align-self: auto !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-start { + align-self: flex-start !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-end { + align-self: flex-end !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-center { + align-self: center !important; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-baseline { + align-self: baseline !important; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-left { + float: left !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-right { + float: right !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-none { + float: none !important; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-auto { + overflow: auto !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-hidden { + overflow: hidden !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-static { + position: static !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-relative { + position: relative !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-absolute { + position: absolute !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-fixed { + position: fixed !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_screenreaders.scss */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_screen-reader.scss */ +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-none { + box-shadow: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-25 { + width: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-50 { + width: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-75 { + width: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-100 { + width: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-auto { + width: auto !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-25 { + height: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-50 { + height: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-75 { + height: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-100 { + height: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-auto { + height: auto !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mw-100 { + max-width: 100% !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mh-100 { + max-height: 100% !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vw-100 { + min-width: 100vw !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vh-100 { + min-height: 100vh !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vw-100 { + width: 100vw !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vh-100 { + height: 100vh !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_stretched-link.scss */ +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: transparent; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-0 { + margin: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-1 { + margin: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-2 { + margin: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-3 { + margin: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-4 { + margin: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-5 { + margin: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-0 { + padding: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-1 { + padding: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-2 { + padding: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-3 { + padding: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-4 { + padding: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-5 { + padding: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n1 { + margin: -0.25rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n2 { + margin: -0.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n3 { + margin: -1rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n4 { + margin: -1.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n5 { + margin: -3rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-auto { + margin: auto !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +/* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-justify { + text-align: justify !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-wrap { + white-space: normal !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-nowrap { + white-space: nowrap !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-left { + text-align: left !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-right { + text-align: right !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-center { + text-align: center !important; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-lowercase { + text-transform: lowercase !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-uppercase { + text-transform: uppercase !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-capitalize { + text-transform: capitalize !important; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-light { + font-weight: 300 !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-lighter { + font-weight: lighter !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-normal { + font-weight: 400 !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bold { + font-weight: 700 !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bolder { + font-weight: bolder !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-italic { + font-style: italic !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white { + color: #fff !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-primary { + color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-secondary { + color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-success { + color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-info { + color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-warning { + color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-danger { + color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-light { + color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-dark { + color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-body { + color: #212529 !important; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-muted { + color: #6c757d !important; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-decoration-none { + text-decoration: none !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-reset { + color: inherit !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.visible { + visibility: visible !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.invisible { + visibility: hidden !important; +} + +@media print { + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + a:not(.btn) { + text-decoration: underline; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + abbr[title]::after { + content: " (" attr(title) ")"; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre { + white-space: pre-wrap !important; + } + /* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + /* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + thead { + display: table-header-group; + } + /* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + tr, + img { + page-break-inside: avoid; + } + /* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + /* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + /* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + body { + min-width: 992px !important; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .container { + min-width: 992px !important; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .navbar { + display: none; + } + /* line 103, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .badge { + border: 1px solid #000; + } + /* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table { + border-collapse: collapse !important; + } + /* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table td, + .table th { + background-color: #fff !important; + } + /* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + /* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark { + color: inherit; + } + /* line 126, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + /* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url("/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot?v=4.7.0"); + src: url("/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot?v=4.7.0#iefix") format("embedded-opentype"), url("/assets/font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2?v=4.7.0") format("woff2"), url("/assets/font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff?v=4.7.0") format("woff"), url("/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf?v=4.7.0") format("truetype"), url("/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg?v=4.7.0#fontawesomeregular") format("svg"); + font-weight: normal; + font-style: normal; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_core.scss */ +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* makes the font 33% larger relative to the icon container */ +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -15%; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-2x { + font-size: 2em; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-3x { + font-size: 3em; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-4x { + font-size: 4em; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-5x { + font-size: 5em; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_fixed-width.scss */ +.fa-fw { + width: 1.28571em; + text-align: center; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-ul { + padding-left: 0; + margin-left: 2.14286em; + list-style-type: none; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-ul > li { + position: relative; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-li { + position: absolute; + left: -2.14286em; + width: 2.14286em; + top: 0.14286em; + text-align: center; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-li.fa-lg { + left: -1.85714em; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-pull-left { + float: left; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-pull-right { + float: right; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.fa-pull-left { + margin-right: .3em; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.fa-pull-right { + margin-left: .3em; +} + +/* Deprecated as of 4.4.0 */ +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.pull-right { + float: right; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.pull-left { + float: left; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.pull-left { + margin-right: .3em; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.pull-right { + margin-left: .3em; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_animated.scss */ +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_animated.scss */ +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + -webkit-filter: none; + filter: none; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-1x, .fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-1x { + line-height: inherit; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-2x { + font-size: 2em; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-inverse { + color: #fff; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glass:before { + content: ""; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-music:before { + content: ""; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search:before { + content: ""; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-o:before { + content: ""; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heart:before { + content: ""; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star:before { + content: ""; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-o:before { + content: ""; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user:before { + content: ""; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-film:before { + content: ""; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th-large:before { + content: ""; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th:before { + content: ""; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th-list:before { + content: ""; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check:before { + content: ""; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: ""; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search-plus:before { + content: ""; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search-minus:before { + content: ""; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-power-off:before { + content: ""; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-signal:before { + content: ""; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gear:before, +.fa-cog:before { + content: ""; +} + +/* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trash-o:before { + content: ""; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-home:before { + content: ""; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-o:before { + content: ""; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-clock-o:before { + content: ""; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-road:before { + content: ""; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-download:before { + content: ""; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-down:before { + content: ""; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-up:before { + content: ""; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-inbox:before { + content: ""; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play-circle-o:before { + content: ""; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rotate-right:before, +.fa-repeat:before { + content: ""; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-refresh:before { + content: ""; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-alt:before { + content: ""; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lock:before { + content: ""; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag:before { + content: ""; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-headphones:before { + content: ""; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-off:before { + content: ""; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-down:before { + content: ""; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-up:before { + content: ""; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-qrcode:before { + content: ""; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-barcode:before { + content: ""; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tag:before { + content: ""; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tags:before { + content: ""; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-book:before { + content: ""; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bookmark:before { + content: ""; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-print:before { + content: ""; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-camera:before { + content: ""; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-font:before { + content: ""; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bold:before { + content: ""; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-italic:before { + content: ""; +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-text-height:before { + content: ""; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-text-width:before { + content: ""; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-left:before { + content: ""; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-center:before { + content: ""; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-right:before { + content: ""; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-justify:before { + content: ""; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list:before { + content: ""; +} + +/* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dedent:before, +.fa-outdent:before { + content: ""; +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-indent:before { + content: ""; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-video-camera:before { + content: ""; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: ""; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pencil:before { + content: ""; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-marker:before { + content: ""; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-adjust:before { + content: ""; +} + +/* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tint:before { + content: ""; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-edit:before, +.fa-pencil-square-o:before { + content: ""; +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-square-o:before { + content: ""; +} + +/* line 78, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-square-o:before { + content: ""; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows:before { + content: ""; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-step-backward:before { + content: ""; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fast-backward:before { + content: ""; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-backward:before { + content: ""; +} + +/* line 83, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play:before { + content: ""; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause:before { + content: ""; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop:before { + content: ""; +} + +/* line 86, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-forward:before { + content: ""; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fast-forward:before { + content: ""; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-step-forward:before { + content: ""; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eject:before { + content: ""; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-left:before { + content: ""; +} + +/* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-right:before { + content: ""; +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-circle:before { + content: ""; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-circle:before { + content: ""; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-circle:before { + content: ""; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-circle:before { + content: ""; +} + +/* line 96, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question-circle:before { + content: ""; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-info-circle:before { + content: ""; +} + +/* line 98, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-crosshairs:before { + content: ""; +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-circle-o:before { + content: ""; +} + +/* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-circle-o:before { + content: ""; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ban:before { + content: ""; +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-left:before { + content: ""; +} + +/* line 103, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-right:before { + content: ""; +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-up:before { + content: ""; +} + +/* line 105, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-down:before { + content: ""; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-forward:before, +.fa-share:before { + content: ""; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-expand:before { + content: ""; +} + +/* line 109, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-compress:before { + content: ""; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus:before { + content: ""; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus:before { + content: ""; +} + +/* line 112, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-asterisk:before { + content: ""; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exclamation-circle:before { + content: ""; +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gift:before { + content: ""; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-leaf:before { + content: ""; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fire:before { + content: ""; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eye:before { + content: ""; +} + +/* line 118, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eye-slash:before { + content: ""; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-warning:before, +.fa-exclamation-triangle:before { + content: ""; +} + +/* line 121, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plane:before { + content: ""; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar:before { + content: ""; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-random:before { + content: ""; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comment:before { + content: ""; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-magnet:before { + content: ""; +} + +/* line 126, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-up:before { + content: ""; +} + +/* line 127, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-down:before { + content: ""; +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-retweet:before { + content: ""; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-cart:before { + content: ""; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder:before { + content: ""; +} + +/* line 131, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-open:before { + content: ""; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-v:before { + content: ""; +} + +/* line 133, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-h:before { + content: ""; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: ""; +} + +/* line 136, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitter-square:before { + content: ""; +} + +/* line 137, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-square:before { + content: ""; +} + +/* line 138, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-camera-retro:before { + content: ""; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-key:before { + content: ""; +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gears:before, +.fa-cogs:before { + content: ""; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comments:before { + content: ""; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-o-up:before { + content: ""; +} + +/* line 144, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-o-down:before { + content: ""; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-half:before { + content: ""; +} + +/* line 146, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heart-o:before { + content: ""; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sign-out:before { + content: ""; +} + +/* line 148, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linkedin-square:before { + content: ""; +} + +/* line 149, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumb-tack:before { + content: ""; +} + +/* line 150, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-external-link:before { + content: ""; +} + +/* line 151, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sign-in:before { + content: ""; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trophy:before { + content: ""; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github-square:before { + content: ""; +} + +/* line 154, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-upload:before { + content: ""; +} + +/* line 155, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lemon-o:before { + content: ""; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-phone:before { + content: ""; +} + +/* line 157, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-square-o:before { + content: ""; +} + +/* line 158, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bookmark-o:before { + content: ""; +} + +/* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-phone-square:before { + content: ""; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitter:before { + content: ""; +} + +/* line 161, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-f:before, +.fa-facebook:before { + content: ""; +} + +/* line 163, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github:before { + content: ""; +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlock:before { + content: ""; +} + +/* line 165, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-credit-card:before { + content: ""; +} + +/* line 166, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-feed:before, +.fa-rss:before { + content: ""; +} + +/* line 168, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hdd-o:before { + content: ""; +} + +/* line 169, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bullhorn:before { + content: ""; +} + +/* line 170, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell:before { + content: ""; +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-certificate:before { + content: ""; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-right:before { + content: ""; +} + +/* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-left:before { + content: ""; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-up:before { + content: ""; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-down:before { + content: ""; +} + +/* line 176, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-left:before { + content: ""; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-right:before { + content: ""; +} + +/* line 178, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-up:before { + content: ""; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-down:before { + content: ""; +} + +/* line 180, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-globe:before { + content: ""; +} + +/* line 181, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wrench:before { + content: ""; +} + +/* line 182, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tasks:before { + content: ""; +} + +/* line 183, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-filter:before { + content: ""; +} + +/* line 184, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-briefcase:before { + content: ""; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-alt:before { + content: ""; +} + +/* line 186, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-group:before, +.fa-users:before { + content: ""; +} + +/* line 188, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chain:before, +.fa-link:before { + content: ""; +} + +/* line 190, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud:before { + content: ""; +} + +/* line 191, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flask:before { + content: ""; +} + +/* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cut:before, +.fa-scissors:before { + content: ""; +} + +/* line 194, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-copy:before, +.fa-files-o:before { + content: ""; +} + +/* line 196, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paperclip:before { + content: ""; +} + +/* line 197, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-save:before, +.fa-floppy-o:before { + content: ""; +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-square:before { + content: ""; +} + +/* line 200, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: ""; +} + +/* line 203, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-ul:before { + content: ""; +} + +/* line 204, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-ol:before { + content: ""; +} + +/* line 205, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-strikethrough:before { + content: ""; +} + +/* line 206, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-underline:before { + content: ""; +} + +/* line 207, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-table:before { + content: ""; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-magic:before { + content: ""; +} + +/* line 209, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-truck:before { + content: ""; +} + +/* line 210, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest:before { + content: ""; +} + +/* line 211, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest-square:before { + content: ""; +} + +/* line 212, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus-square:before { + content: ""; +} + +/* line 213, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus:before { + content: ""; +} + +/* line 214, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-money:before { + content: ""; +} + +/* line 215, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-down:before { + content: ""; +} + +/* line 216, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-up:before { + content: ""; +} + +/* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-left:before { + content: ""; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-right:before { + content: ""; +} + +/* line 219, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-columns:before { + content: ""; +} + +/* line 220, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unsorted:before, +.fa-sort:before { + content: ""; +} + +/* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-down:before, +.fa-sort-desc:before { + content: ""; +} + +/* line 224, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-up:before, +.fa-sort-asc:before { + content: ""; +} + +/* line 226, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope:before { + content: ""; +} + +/* line 227, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linkedin:before { + content: ""; +} + +/* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rotate-left:before, +.fa-undo:before { + content: ""; +} + +/* line 230, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-legal:before, +.fa-gavel:before { + content: ""; +} + +/* line 232, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dashboard:before, +.fa-tachometer:before { + content: ""; +} + +/* line 234, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comment-o:before { + content: ""; +} + +/* line 235, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comments-o:before { + content: ""; +} + +/* line 236, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flash:before, +.fa-bolt:before { + content: ""; +} + +/* line 238, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sitemap:before { + content: ""; +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-umbrella:before { + content: ""; +} + +/* line 240, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paste:before, +.fa-clipboard:before { + content: ""; +} + +/* line 242, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lightbulb-o:before { + content: ""; +} + +/* line 243, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exchange:before { + content: ""; +} + +/* line 244, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud-download:before { + content: ""; +} + +/* line 245, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud-upload:before { + content: ""; +} + +/* line 246, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-md:before { + content: ""; +} + +/* line 247, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stethoscope:before { + content: ""; +} + +/* line 248, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-suitcase:before { + content: ""; +} + +/* line 249, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-o:before { + content: ""; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-coffee:before { + content: ""; +} + +/* line 251, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cutlery:before { + content: ""; +} + +/* line 252, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-text-o:before { + content: ""; +} + +/* line 253, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-building-o:before { + content: ""; +} + +/* line 254, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hospital-o:before { + content: ""; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ambulance:before { + content: ""; +} + +/* line 256, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-medkit:before { + content: ""; +} + +/* line 257, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fighter-jet:before { + content: ""; +} + +/* line 258, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-beer:before { + content: ""; +} + +/* line 259, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-h-square:before { + content: ""; +} + +/* line 260, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-square:before { + content: ""; +} + +/* line 261, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-left:before { + content: ""; +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-right:before { + content: ""; +} + +/* line 263, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-up:before { + content: ""; +} + +/* line 264, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-down:before { + content: ""; +} + +/* line 265, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-left:before { + content: ""; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-right:before { + content: ""; +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-up:before { + content: ""; +} + +/* line 268, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-down:before { + content: ""; +} + +/* line 269, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-desktop:before { + content: ""; +} + +/* line 270, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-laptop:before { + content: ""; +} + +/* line 271, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tablet:before { + content: ""; +} + +/* line 272, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mobile-phone:before, +.fa-mobile:before { + content: ""; +} + +/* line 274, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-o:before { + content: ""; +} + +/* line 275, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quote-left:before { + content: ""; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quote-right:before { + content: ""; +} + +/* line 277, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spinner:before { + content: ""; +} + +/* line 278, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle:before { + content: ""; +} + +/* line 279, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-reply:before, +.fa-reply:before { + content: ""; +} + +/* line 281, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github-alt:before { + content: ""; +} + +/* line 282, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-o:before { + content: ""; +} + +/* line 283, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-open-o:before { + content: ""; +} + +/* line 284, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-smile-o:before { + content: ""; +} + +/* line 285, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-frown-o:before { + content: ""; +} + +/* line 286, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meh-o:before { + content: ""; +} + +/* line 287, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gamepad:before { + content: ""; +} + +/* line 288, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-keyboard-o:before { + content: ""; +} + +/* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag-o:before { + content: ""; +} + +/* line 290, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag-checkered:before { + content: ""; +} + +/* line 291, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-terminal:before { + content: ""; +} + +/* line 292, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-code:before { + content: ""; +} + +/* line 293, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: ""; +} + +/* line 295, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: ""; +} + +/* line 298, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-location-arrow:before { + content: ""; +} + +/* line 299, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-crop:before { + content: ""; +} + +/* line 300, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-code-fork:before { + content: ""; +} + +/* line 301, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlink:before, +.fa-chain-broken:before { + content: ""; +} + +/* line 303, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question:before { + content: ""; +} + +/* line 304, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-info:before { + content: ""; +} + +/* line 305, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exclamation:before { + content: ""; +} + +/* line 306, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-superscript:before { + content: ""; +} + +/* line 307, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-subscript:before { + content: ""; +} + +/* line 308, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eraser:before { + content: ""; +} + +/* line 309, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-puzzle-piece:before { + content: ""; +} + +/* line 310, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microphone:before { + content: ""; +} + +/* line 311, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microphone-slash:before { + content: ""; +} + +/* line 312, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shield:before { + content: ""; +} + +/* line 313, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-o:before { + content: ""; +} + +/* line 314, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fire-extinguisher:before { + content: ""; +} + +/* line 315, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rocket:before { + content: ""; +} + +/* line 316, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-maxcdn:before { + content: ""; +} + +/* line 317, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-left:before { + content: ""; +} + +/* line 318, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-right:before { + content: ""; +} + +/* line 319, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-up:before { + content: ""; +} + +/* line 320, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-down:before { + content: ""; +} + +/* line 321, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-html5:before { + content: ""; +} + +/* line 322, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-css3:before { + content: ""; +} + +/* line 323, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-anchor:before { + content: ""; +} + +/* line 324, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlock-alt:before { + content: ""; +} + +/* line 325, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bullseye:before { + content: ""; +} + +/* line 326, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ellipsis-h:before { + content: ""; +} + +/* line 327, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ellipsis-v:before { + content: ""; +} + +/* line 328, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rss-square:before { + content: ""; +} + +/* line 329, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play-circle:before { + content: ""; +} + +/* line 330, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ticket:before { + content: ""; +} + +/* line 331, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-square:before { + content: ""; +} + +/* line 332, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-square-o:before { + content: ""; +} + +/* line 333, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-level-up:before { + content: ""; +} + +/* line 334, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-level-down:before { + content: ""; +} + +/* line 335, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-square:before { + content: ""; +} + +/* line 336, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pencil-square:before { + content: ""; +} + +/* line 337, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-external-link-square:before { + content: ""; +} + +/* line 338, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-square:before { + content: ""; +} + +/* line 339, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-compass:before { + content: ""; +} + +/* line 340, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: ""; +} + +/* line 342, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: ""; +} + +/* line 344, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: ""; +} + +/* line 346, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-euro:before, +.fa-eur:before { + content: ""; +} + +/* line 348, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gbp:before { + content: ""; +} + +/* line 349, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dollar:before, +.fa-usd:before { + content: ""; +} + +/* line 351, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rupee:before, +.fa-inr:before { + content: ""; +} + +/* line 353, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: ""; +} + +/* line 357, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: ""; +} + +/* line 360, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-won:before, +.fa-krw:before { + content: ""; +} + +/* line 362, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitcoin:before, +.fa-btc:before { + content: ""; +} + +/* line 364, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file:before { + content: ""; +} + +/* line 365, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-text:before { + content: ""; +} + +/* line 366, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-alpha-asc:before { + content: ""; +} + +/* line 367, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-alpha-desc:before { + content: ""; +} + +/* line 368, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-amount-asc:before { + content: ""; +} + +/* line 369, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-amount-desc:before { + content: ""; +} + +/* line 370, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-numeric-asc:before { + content: ""; +} + +/* line 371, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-numeric-desc:before { + content: ""; +} + +/* line 372, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-up:before { + content: ""; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-down:before { + content: ""; +} + +/* line 374, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube-square:before { + content: ""; +} + +/* line 375, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube:before { + content: ""; +} + +/* line 376, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-xing:before { + content: ""; +} + +/* line 377, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-xing-square:before { + content: ""; +} + +/* line 378, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube-play:before { + content: ""; +} + +/* line 379, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dropbox:before { + content: ""; +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stack-overflow:before { + content: ""; +} + +/* line 381, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-instagram:before { + content: ""; +} + +/* line 382, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flickr:before { + content: ""; +} + +/* line 383, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-adn:before { + content: ""; +} + +/* line 384, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitbucket:before { + content: ""; +} + +/* line 385, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitbucket-square:before { + content: ""; +} + +/* line 386, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tumblr:before { + content: ""; +} + +/* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tumblr-square:before { + content: ""; +} + +/* line 388, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-down:before { + content: ""; +} + +/* line 389, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-up:before { + content: ""; +} + +/* line 390, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-left:before { + content: ""; +} + +/* line 391, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-right:before { + content: ""; +} + +/* line 392, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-apple:before { + content: ""; +} + +/* line 393, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-windows:before { + content: ""; +} + +/* line 394, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-android:before { + content: ""; +} + +/* line 395, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linux:before { + content: ""; +} + +/* line 396, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dribbble:before { + content: ""; +} + +/* line 397, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-skype:before { + content: ""; +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-foursquare:before { + content: ""; +} + +/* line 399, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trello:before { + content: ""; +} + +/* line 400, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-female:before { + content: ""; +} + +/* line 401, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-male:before { + content: ""; +} + +/* line 402, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gittip:before, +.fa-gratipay:before { + content: ""; +} + +/* line 404, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sun-o:before { + content: ""; +} + +/* line 405, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-moon-o:before { + content: ""; +} + +/* line 406, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-archive:before { + content: ""; +} + +/* line 407, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bug:before { + content: ""; +} + +/* line 408, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vk:before { + content: ""; +} + +/* line 409, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-weibo:before { + content: ""; +} + +/* line 410, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-renren:before { + content: ""; +} + +/* line 411, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pagelines:before { + content: ""; +} + +/* line 412, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stack-exchange:before { + content: ""; +} + +/* line 413, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-right:before { + content: ""; +} + +/* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-left:before { + content: ""; +} + +/* line 415, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: ""; +} + +/* line 417, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dot-circle-o:before { + content: ""; +} + +/* line 418, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wheelchair:before { + content: ""; +} + +/* line 419, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vimeo-square:before { + content: ""; +} + +/* line 420, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-turkish-lira:before, +.fa-try:before { + content: ""; +} + +/* line 422, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-square-o:before { + content: ""; +} + +/* line 423, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-space-shuttle:before { + content: ""; +} + +/* line 424, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-slack:before { + content: ""; +} + +/* line 425, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-square:before { + content: ""; +} + +/* line 426, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wordpress:before { + content: ""; +} + +/* line 427, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-openid:before { + content: ""; +} + +/* line 428, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: ""; +} + +/* line 431, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: ""; +} + +/* line 433, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yahoo:before { + content: ""; +} + +/* line 434, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google:before { + content: ""; +} + +/* line 435, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit:before { + content: ""; +} + +/* line 436, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit-square:before { + content: ""; +} + +/* line 437, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stumbleupon-circle:before { + content: ""; +} + +/* line 438, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stumbleupon:before { + content: ""; +} + +/* line 439, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-delicious:before { + content: ""; +} + +/* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-digg:before { + content: ""; +} + +/* line 441, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper-pp:before { + content: ""; +} + +/* line 442, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper-alt:before { + content: ""; +} + +/* line 443, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drupal:before { + content: ""; +} + +/* line 444, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-joomla:before { + content: ""; +} + +/* line 445, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-language:before { + content: ""; +} + +/* line 446, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fax:before { + content: ""; +} + +/* line 447, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-building:before { + content: ""; +} + +/* line 448, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-child:before { + content: ""; +} + +/* line 449, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paw:before { + content: ""; +} + +/* line 450, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spoon:before { + content: ""; +} + +/* line 451, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cube:before { + content: ""; +} + +/* line 452, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cubes:before { + content: ""; +} + +/* line 453, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-behance:before { + content: ""; +} + +/* line 454, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-behance-square:before { + content: ""; +} + +/* line 455, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-steam:before { + content: ""; +} + +/* line 456, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-steam-square:before { + content: ""; +} + +/* line 457, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-recycle:before { + content: ""; +} + +/* line 458, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-automobile:before, +.fa-car:before { + content: ""; +} + +/* line 460, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cab:before, +.fa-taxi:before { + content: ""; +} + +/* line 462, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tree:before { + content: ""; +} + +/* line 463, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spotify:before { + content: ""; +} + +/* line 464, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-deviantart:before { + content: ""; +} + +/* line 465, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-soundcloud:before { + content: ""; +} + +/* line 466, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-database:before { + content: ""; +} + +/* line 467, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-pdf-o:before { + content: ""; +} + +/* line 468, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-word-o:before { + content: ""; +} + +/* line 469, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-excel-o:before { + content: ""; +} + +/* line 470, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-powerpoint-o:before { + content: ""; +} + +/* line 471, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: ""; +} + +/* line 474, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: ""; +} + +/* line 476, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: ""; +} + +/* line 478, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: ""; +} + +/* line 480, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-code-o:before { + content: ""; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vine:before { + content: ""; +} + +/* line 482, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-codepen:before { + content: ""; +} + +/* line 483, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-jsfiddle:before { + content: ""; +} + +/* line 484, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: ""; +} + +/* line 489, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-o-notch:before { + content: ""; +} + +/* line 490, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: ""; +} + +/* line 493, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ge:before, +.fa-empire:before { + content: ""; +} + +/* line 495, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-git-square:before { + content: ""; +} + +/* line 496, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-git:before { + content: ""; +} + +/* line 497, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: ""; +} + +/* line 500, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tencent-weibo:before { + content: ""; +} + +/* line 501, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-qq:before { + content: ""; +} + +/* line 502, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wechat:before, +.fa-weixin:before { + content: ""; +} + +/* line 504, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-send:before, +.fa-paper-plane:before { + content: ""; +} + +/* line 506, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-send-o:before, +.fa-paper-plane-o:before { + content: ""; +} + +/* line 508, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-history:before { + content: ""; +} + +/* line 509, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-thin:before { + content: ""; +} + +/* line 510, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-header:before { + content: ""; +} + +/* line 511, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paragraph:before { + content: ""; +} + +/* line 512, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sliders:before { + content: ""; +} + +/* line 513, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-alt:before { + content: ""; +} + +/* line 514, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-alt-square:before { + content: ""; +} + +/* line 515, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bomb:before { + content: ""; +} + +/* line 516, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: ""; +} + +/* line 518, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tty:before { + content: ""; +} + +/* line 519, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-binoculars:before { + content: ""; +} + +/* line 520, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plug:before { + content: ""; +} + +/* line 521, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-slideshare:before { + content: ""; +} + +/* line 522, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitch:before { + content: ""; +} + +/* line 523, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yelp:before { + content: ""; +} + +/* line 524, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-newspaper-o:before { + content: ""; +} + +/* line 525, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wifi:before { + content: ""; +} + +/* line 526, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calculator:before { + content: ""; +} + +/* line 527, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paypal:before { + content: ""; +} + +/* line 528, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-wallet:before { + content: ""; +} + +/* line 529, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-visa:before { + content: ""; +} + +/* line 530, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-mastercard:before { + content: ""; +} + +/* line 531, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-discover:before { + content: ""; +} + +/* line 532, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-amex:before { + content: ""; +} + +/* line 533, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-paypal:before { + content: ""; +} + +/* line 534, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-stripe:before { + content: ""; +} + +/* line 535, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-slash:before { + content: ""; +} + +/* line 536, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-slash-o:before { + content: ""; +} + +/* line 537, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trash:before { + content: ""; +} + +/* line 538, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-copyright:before { + content: ""; +} + +/* line 539, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-at:before { + content: ""; +} + +/* line 540, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eyedropper:before { + content: ""; +} + +/* line 541, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paint-brush:before { + content: ""; +} + +/* line 542, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-birthday-cake:before { + content: ""; +} + +/* line 543, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-area-chart:before { + content: ""; +} + +/* line 544, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pie-chart:before { + content: ""; +} + +/* line 545, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-line-chart:before { + content: ""; +} + +/* line 546, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lastfm:before { + content: ""; +} + +/* line 547, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lastfm-square:before { + content: ""; +} + +/* line 548, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-off:before { + content: ""; +} + +/* line 549, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-on:before { + content: ""; +} + +/* line 550, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bicycle:before { + content: ""; +} + +/* line 551, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bus:before { + content: ""; +} + +/* line 552, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ioxhost:before { + content: ""; +} + +/* line 553, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angellist:before { + content: ""; +} + +/* line 554, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc:before { + content: ""; +} + +/* line 555, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: ""; +} + +/* line 558, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meanpath:before { + content: ""; +} + +/* line 559, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-buysellads:before { + content: ""; +} + +/* line 560, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-connectdevelop:before { + content: ""; +} + +/* line 561, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dashcube:before { + content: ""; +} + +/* line 562, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-forumbee:before { + content: ""; +} + +/* line 563, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-leanpub:before { + content: ""; +} + +/* line 564, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sellsy:before { + content: ""; +} + +/* line 565, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shirtsinbulk:before { + content: ""; +} + +/* line 566, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-simplybuilt:before { + content: ""; +} + +/* line 567, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-skyatlas:before { + content: ""; +} + +/* line 568, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cart-plus:before { + content: ""; +} + +/* line 569, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cart-arrow-down:before { + content: ""; +} + +/* line 570, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-diamond:before { + content: ""; +} + +/* line 571, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ship:before { + content: ""; +} + +/* line 572, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-secret:before { + content: ""; +} + +/* line 573, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-motorcycle:before { + content: ""; +} + +/* line 574, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-street-view:before { + content: ""; +} + +/* line 575, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heartbeat:before { + content: ""; +} + +/* line 576, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus:before { + content: ""; +} + +/* line 577, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars:before { + content: ""; +} + +/* line 578, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mercury:before { + content: ""; +} + +/* line 579, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-intersex:before, +.fa-transgender:before { + content: ""; +} + +/* line 581, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-transgender-alt:before { + content: ""; +} + +/* line 582, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus-double:before { + content: ""; +} + +/* line 583, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-double:before { + content: ""; +} + +/* line 584, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus-mars:before { + content: ""; +} + +/* line 585, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke:before { + content: ""; +} + +/* line 586, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke-v:before { + content: ""; +} + +/* line 587, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke-h:before { + content: ""; +} + +/* line 588, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-neuter:before { + content: ""; +} + +/* line 589, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-genderless:before { + content: ""; +} + +/* line 590, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-official:before { + content: ""; +} + +/* line 591, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest-p:before { + content: ""; +} + +/* line 592, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-whatsapp:before { + content: ""; +} + +/* line 593, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-server:before { + content: ""; +} + +/* line 594, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-plus:before { + content: ""; +} + +/* line 595, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-times:before { + content: ""; +} + +/* line 596, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hotel:before, +.fa-bed:before { + content: ""; +} + +/* line 598, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viacoin:before { + content: ""; +} + +/* line 599, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-train:before { + content: ""; +} + +/* line 600, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-subway:before { + content: ""; +} + +/* line 601, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-medium:before { + content: ""; +} + +/* line 602, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yc:before, +.fa-y-combinator:before { + content: ""; +} + +/* line 604, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-optin-monster:before { + content: ""; +} + +/* line 605, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-opencart:before { + content: ""; +} + +/* line 606, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-expeditedssl:before { + content: ""; +} + +/* line 607, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: ""; +} + +/* line 610, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: ""; +} + +/* line 612, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-2:before, +.fa-battery-half:before { + content: ""; +} + +/* line 614, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-1:before, +.fa-battery-quarter:before { + content: ""; +} + +/* line 616, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-0:before, +.fa-battery-empty:before { + content: ""; +} + +/* line 618, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mouse-pointer:before { + content: ""; +} + +/* line 619, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-i-cursor:before { + content: ""; +} + +/* line 620, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-object-group:before { + content: ""; +} + +/* line 621, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-object-ungroup:before { + content: ""; +} + +/* line 622, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sticky-note:before { + content: ""; +} + +/* line 623, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sticky-note-o:before { + content: ""; +} + +/* line 624, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-jcb:before { + content: ""; +} + +/* line 625, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-diners-club:before { + content: ""; +} + +/* line 626, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-clone:before { + content: ""; +} + +/* line 627, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-balance-scale:before { + content: ""; +} + +/* line 628, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-o:before { + content: ""; +} + +/* line 629, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: ""; +} + +/* line 631, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: ""; +} + +/* line 633, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: ""; +} + +/* line 635, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass:before { + content: ""; +} + +/* line 636, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: ""; +} + +/* line 638, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: ""; +} + +/* line 640, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-scissors-o:before { + content: ""; +} + +/* line 641, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-lizard-o:before { + content: ""; +} + +/* line 642, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-spock-o:before { + content: ""; +} + +/* line 643, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-pointer-o:before { + content: ""; +} + +/* line 644, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-peace-o:before { + content: ""; +} + +/* line 645, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trademark:before { + content: ""; +} + +/* line 646, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-registered:before { + content: ""; +} + +/* line 647, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-creative-commons:before { + content: ""; +} + +/* line 648, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gg:before { + content: ""; +} + +/* line 649, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gg-circle:before { + content: ""; +} + +/* line 650, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tripadvisor:before { + content: ""; +} + +/* line 651, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-odnoklassniki:before { + content: ""; +} + +/* line 652, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-odnoklassniki-square:before { + content: ""; +} + +/* line 653, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-get-pocket:before { + content: ""; +} + +/* line 654, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wikipedia-w:before { + content: ""; +} + +/* line 655, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-safari:before { + content: ""; +} + +/* line 656, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chrome:before { + content: ""; +} + +/* line 657, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-firefox:before { + content: ""; +} + +/* line 658, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-opera:before { + content: ""; +} + +/* line 659, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-internet-explorer:before { + content: ""; +} + +/* line 660, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tv:before, +.fa-television:before { + content: ""; +} + +/* line 662, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-contao:before { + content: ""; +} + +/* line 663, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-500px:before { + content: ""; +} + +/* line 664, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-amazon:before { + content: ""; +} + +/* line 665, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-plus-o:before { + content: ""; +} + +/* line 666, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-minus-o:before { + content: ""; +} + +/* line 667, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-times-o:before { + content: ""; +} + +/* line 668, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-check-o:before { + content: ""; +} + +/* line 669, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-industry:before { + content: ""; +} + +/* line 670, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-pin:before { + content: ""; +} + +/* line 671, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-signs:before { + content: ""; +} + +/* line 672, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-o:before { + content: ""; +} + +/* line 673, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map:before { + content: ""; +} + +/* line 674, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-commenting:before { + content: ""; +} + +/* line 675, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-commenting-o:before { + content: ""; +} + +/* line 676, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-houzz:before { + content: ""; +} + +/* line 677, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vimeo:before { + content: ""; +} + +/* line 678, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-black-tie:before { + content: ""; +} + +/* line 679, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fonticons:before { + content: ""; +} + +/* line 680, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit-alien:before { + content: ""; +} + +/* line 681, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-edge:before { + content: ""; +} + +/* line 682, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-credit-card-alt:before { + content: ""; +} + +/* line 683, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-codiepie:before { + content: ""; +} + +/* line 684, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-modx:before { + content: ""; +} + +/* line 685, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fort-awesome:before { + content: ""; +} + +/* line 686, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-usb:before { + content: ""; +} + +/* line 687, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-product-hunt:before { + content: ""; +} + +/* line 688, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mixcloud:before { + content: ""; +} + +/* line 689, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-scribd:before { + content: ""; +} + +/* line 690, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause-circle:before { + content: ""; +} + +/* line 691, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause-circle-o:before { + content: ""; +} + +/* line 692, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop-circle:before { + content: ""; +} + +/* line 693, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop-circle-o:before { + content: ""; +} + +/* line 694, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-bag:before { + content: ""; +} + +/* line 695, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-basket:before { + content: ""; +} + +/* line 696, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hashtag:before { + content: ""; +} + +/* line 697, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bluetooth:before { + content: ""; +} + +/* line 698, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bluetooth-b:before { + content: ""; +} + +/* line 699, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-percent:before { + content: ""; +} + +/* line 700, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gitlab:before { + content: ""; +} + +/* line 701, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpbeginner:before { + content: ""; +} + +/* line 702, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpforms:before { + content: ""; +} + +/* line 703, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envira:before { + content: ""; +} + +/* line 704, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-universal-access:before { + content: ""; +} + +/* line 705, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wheelchair-alt:before { + content: ""; +} + +/* line 706, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question-circle-o:before { + content: ""; +} + +/* line 707, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-blind:before { + content: ""; +} + +/* line 708, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-audio-description:before { + content: ""; +} + +/* line 709, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-control-phone:before { + content: ""; +} + +/* line 710, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-braille:before { + content: ""; +} + +/* line 711, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-assistive-listening-systems:before { + content: ""; +} + +/* line 712, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: ""; +} + +/* line 714, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: ""; +} + +/* line 717, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glide:before { + content: ""; +} + +/* line 718, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glide-g:before { + content: ""; +} + +/* line 719, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-signing:before, +.fa-sign-language:before { + content: ""; +} + +/* line 721, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-low-vision:before { + content: ""; +} + +/* line 722, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viadeo:before { + content: ""; +} + +/* line 723, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viadeo-square:before { + content: ""; +} + +/* line 724, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat:before { + content: ""; +} + +/* line 725, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat-ghost:before { + content: ""; +} + +/* line 726, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat-square:before { + content: ""; +} + +/* line 727, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper:before { + content: ""; +} + +/* line 728, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-first-order:before { + content: ""; +} + +/* line 729, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yoast:before { + content: ""; +} + +/* line 730, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-themeisle:before { + content: ""; +} + +/* line 731, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: ""; +} + +/* line 733, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fa:before, +.fa-font-awesome:before { + content: ""; +} + +/* line 735, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-handshake-o:before { + content: ""; +} + +/* line 736, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-open:before { + content: ""; +} + +/* line 737, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-open-o:before { + content: ""; +} + +/* line 738, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linode:before { + content: ""; +} + +/* line 739, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-address-book:before { + content: ""; +} + +/* line 740, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-address-book-o:before { + content: ""; +} + +/* line 741, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vcard:before, +.fa-address-card:before { + content: ""; +} + +/* line 743, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vcard-o:before, +.fa-address-card-o:before { + content: ""; +} + +/* line 745, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-circle:before { + content: ""; +} + +/* line 746, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-circle-o:before { + content: ""; +} + +/* line 747, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-o:before { + content: ""; +} + +/* line 748, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-id-badge:before { + content: ""; +} + +/* line 749, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drivers-license:before, +.fa-id-card:before { + content: ""; +} + +/* line 751, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: ""; +} + +/* line 753, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quora:before { + content: ""; +} + +/* line 754, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-free-code-camp:before { + content: ""; +} + +/* line 755, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-telegram:before { + content: ""; +} + +/* line 756, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: ""; +} + +/* line 759, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: ""; +} + +/* line 761, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: ""; +} + +/* line 763, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: ""; +} + +/* line 765, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: ""; +} + +/* line 767, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shower:before { + content: ""; +} + +/* line 768, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: ""; +} + +/* line 771, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-podcast:before { + content: ""; +} + +/* line 772, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-maximize:before { + content: ""; +} + +/* line 773, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-minimize:before { + content: ""; +} + +/* line 774, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-restore:before { + content: ""; +} + +/* line 775, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-rectangle:before, +.fa-window-close:before { + content: ""; +} + +/* line 777, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: ""; +} + +/* line 779, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bandcamp:before { + content: ""; +} + +/* line 780, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-grav:before { + content: ""; +} + +/* line 781, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-etsy:before { + content: ""; +} + +/* line 782, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-imdb:before { + content: ""; +} + +/* line 783, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ravelry:before { + content: ""; +} + +/* line 784, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eercast:before { + content: ""; +} + +/* line 785, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microchip:before { + content: ""; +} + +/* line 786, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snowflake-o:before { + content: ""; +} + +/* line 787, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-superpowers:before { + content: ""; +} + +/* line 788, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpexplorer:before { + content: ""; +} + +/* line 789, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meetup:before { + content: ""; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_screen-reader.scss */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_mixins.scss */ +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__clear { + position: relative; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results { + display: block; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option { + padding: 6px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option[aria-selected] { + cursor: pointer; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown { + left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown { + display: block; + padding: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown.select2-search--hide { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee)); + background-image: linear-gradient(to bottom, #fff 50%, #eee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc)); + background-image: linear-gradient(to bottom, #eee 50%, #ccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee)); + background-image: linear-gradient(to bottom, #fff 0%, #eee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#fff)); + background-image: linear-gradient(to bottom, #eee 50%, #fff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown { + background-color: #fff; + border: 1px solid transparent; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--above { + border-bottom: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--below { + border-top: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: #fff; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single { + height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder { + color: #757575; + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow { + position: absolute; + top: 50%; + right: 3px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b { + top: 60%; + border-color: #343a40 transparent transparent; + border-style: solid; + border-width: 5px 4px 0; + width: 0; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered { + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-search--dropdown .select2-search__field { + border: 1px solid #ced4da; + border-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-results__message { + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple { + min-height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice { + color: #343a40; + border: 1px solid #bdc6d0; + border-radius: .2rem; + padding: 0 5px 0 0; + cursor: pointer; + float: left; + margin-top: .3em; + margin-right: 5px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove { + color: #bdc6d0; + font-weight: 700; + margin-left: 3px; + margin-right: 1px; + padding-right: 3px; + padding-left: 3px; + float: left; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #343a40; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container { + display: block; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container :focus { + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group .select2-container--bootstrap4 { + -webkit-box-flex: 1; + flex-grow: 1; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group-prepend ~ .select2-container--bootstrap4 .select2-selection { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection { + border: 1px solid #ced4da; + border-radius: .25rem; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus .select2-selection { + border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection, .select2-container--bootstrap4.select2-container--disabled .select2-selection { + background-color: #e9ecef; + cursor: not-allowed; + border-color: #ced4da; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field, .select2-container--bootstrap4.select2-container--disabled .select2-search__field { + background-color: transparent; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:invalid ~ .select2-container--bootstrap4 .select2-selection, select.is-invalid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #dc3545; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:valid ~ .select2-container--bootstrap4 .select2-selection, select.is-valid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #28a745; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown { + border-color: #ced4da; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above { + border-top: 1px solid #ced4da; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true] { + background-color: #e9ecef; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option--highlighted, .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] { + background-color: #007bff; + color: #f8f9fa; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results > .select2-results__options { + max-height: 15em; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__group { + padding: 6px; + display: list-item; + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear { + width: 1.2em; + height: 1.2em; + line-height: 1.15em; + padding-left: .3em; + margin-top: .5em; + border-radius: 100%; + background-color: #6c757d; + color: #f8f9fa; + float: right; + margin-right: .3em; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear:hover { + background-color: #343a40; +} + +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 7, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 14, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 17, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 20, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 23, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 26, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 30, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 40, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 49, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 52, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 55, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 58, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 61, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 64, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 67, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 72, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 77, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 86, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 96, app/assets/stylesheets/bootstrap-datepicker.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 100, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 105, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 109, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 115, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 119, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 137, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 159, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 169, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 172, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 175, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 184, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 204, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 226, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 236, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 255, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 277, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 287, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 306, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 328, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 338, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 350, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 354, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 360, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 379, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 401, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 411, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 415, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 418, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 424, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 430, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 434, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 440, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 444, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 448, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input { + text-align: center; +} + +/* line 451, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 456, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 461, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 7, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 14, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 17, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 20, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 23, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 26, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 30, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 40, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 49, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 52, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 55, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 58, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 61, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 64, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 67, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 72, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 77, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 86, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 96, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 100, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 105, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 109, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 115, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 119, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 137, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 159, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 169, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 172, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 175, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 184, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 204, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 226, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 236, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 255, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 277, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 287, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 306, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 328, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 338, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 350, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 354, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 360, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 379, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 401, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 411, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 415, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 418, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 424, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 430, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 434, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 440, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 444, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 448, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input { + text-align: center; +} + +/* line 451, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 456, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 461, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 20px; + padding: 4px 5px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} + +/* line 477, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + list-style: none; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + color: #333333; + font-size: 13px; + line-height: 20px; +} + +/* line 504, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu th, +.datepicker.datepicker-inline th, +.datepicker.dropdown-menu td, +.datepicker.datepicker-inline td { + padding: 4px 5px; +} +/* line 1, app/assets/stylesheets/admins/common.scss */ +.admin-body-container { + padding: 20px; + -webkit-box-flex: 1; + flex: 1; + min-height: 100vh; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + overflow-y: scroll; + /* 面包屑 */ + /* 内容表格 */ + /* 分页 */ + /* 搜索表单 */ +} + +/* line 9, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content { + -webkit-box-flex: 1; + flex: 1; + font-size: 14px; +} + +/* line 13, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content .box { + padding: 20px; + border-radius: 5px; + background: #fff; +} + +/* line 21, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .breadcrumb { + padding-left: 5px; + font-size: 20px; + background: unset; +} + +/* line 28, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table { + table-layout: fixed; +} + +/* line 31, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table td { + vertical-align: middle; +} + +/* line 37, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data:hover { + color: darkgrey; + background: unset; +} + +/* line 42, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data > td { + text-align: center; + height: 300px; +} + +/* line 51, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .action-container .action { + padding: 0 3px; +} + +/* line 57, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container { + margin-top: 20px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; +} + +/* line 64, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .paginate-total { + margin-bottom: 10px; + color: darkgrey; +} + +/* line 69, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .pagination { + margin-bottom: 0px; +} + +/* line 75, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container { + display: -webkit-box; + display: flex; + margin-bottom: 20px; +} + +/* line 79, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 82, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form * { + font-size: 14px; +} + +/* line 84, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form select, .admin-body-container .search-form-container .search-form input { + margin-right: 10px; + font-size: 14px; +} + +/* line 91, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error { + color: grey; + min-height: 300px; +} + +/* line 95, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-code { + font-size: 80px; +} + +/* line 99, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-text { + font-size: 24px; +} + +/* line 105, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .nav-tabs .nav-link { + padding: 0.5rem 2rem; +} + +/* line 2, app/assets/stylesheets/admins/daily_school_statistics.scss */ +.admins-daily-school-statistics-index-page .daily-school-statistic-list-container { + text-align: center; +} + +/* line 4, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 4, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 3, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .time-select { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 8, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .type-box .btn { + margin: 0 5px; +} + +/* line 11, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .search-input { + width: 220px; +} + +/* line 15, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .contrast-date-container { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 22, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .contrast-column-select { + position: absolute; + right: 30px; + top: 15px; + width: 130px; +} + +/* line 29, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .relative { + position: relative; +} + +/* line 33, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .right-border::after { + position: absolute; + top: 10px; + right: 0; + content: ''; + width: 0; + height: 20px; + border-right: 1px solid #000; +} + +/* line 4, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar { + min-width: 200px; + max-width: 200px; + background: #272822; + color: #fff; + -webkit-transition: all 0.5s; + transition: all 0.5s; + overflow-y: scroll; +} + +/* line 9, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar::-webkit-scrollbar { + display: none; +} + +/* line 13, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active { + min-width: 60px; + max-width: 60px; + text-align: center; +} + +/* line 18, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header { + padding: 10px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 23, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header-logo { + padding-left: 5px; + overflow: hidden; + margin-bottom: 10px; +} + +/* line 30, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a { + padding: 10px; + text-align: center; + font-size: 0.85em; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 37, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a span { + display: none; +} + +/* line 39, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a i { + margin-right: 0; + display: block; + font-size: 1.8em; + margin-bottom: 5px; + width: 30px; + height: 20px; +} + +/* line 49, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); +} + +/* line 58, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a { + padding: 10px !important; +} + +/* line 61, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a span { + display: none; +} + +/* line 63, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a i { + margin-left: 0px; + display: block; + font-size: 0.8em; + width: 30px; + height: 10px; +} + +/* line 73, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar .sidebar-header { + padding: 20px; + background: #272822; + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 81, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + cursor: pointer; + text-align: right; +} + +/* line 88, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active { + width: 40px; + height: 30px; + background: #3f3f3f; + border: 1px solid grey; + border-radius: 3px; +} + +/* line 95, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.fold { + display: none; +} + +/* line 96, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.unfold { + display: block; +} + +/* line 99, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.fold { + display: block; +} + +/* line 102, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.unfold { + display: none; +} + +/* line 105, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar a, #sidebar a:hover, #sidebar a:focus { + color: inherit; + text-decoration: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; +} + +/* line 111, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar > ul > li > a > i { + width: 14px; + height: 14px; +} + +/* line 117, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul.components { + padding: 20px 0; + border-bottom: 1px solid #3f3f3f; +} + +/* line 122, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul p { + color: #fff; + padding: 10px; +} + +/* line 127, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a { + padding: 10px; + font-size: 1em; + display: block; + text-align: left; +} + +/* line 133, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a i { + margin-right: 10px; + font-size: 1em; + margin-bottom: 5px; +} + +/* line 141, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li a:hover, #sidebar ul li a.active { + color: #fff; + background: #276891; +} + +/* line 147, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li.active > a, #sidebar ul a[aria-expanded="true"] { + color: #fff; +} + +/* line 152, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul ul a { + font-size: 0.9em !important; + padding-left: 30px !important; + background: #3f3f3f; +} + +@media (max-width: 768px) { + /* line 162, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active { + padding: 10px 5px; + min-width: 40px; + max-width: 40px; + text-align: center; + margin-left: 0; + -webkit-transform: none; + transform: none; + } + /* line 170, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header { + padding: 0px; + } + /* line 173, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header .sidebar-header-logo { + display: none; + } + /* line 177, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header #sidebarCollapse { + width: 30px; + height: 20px; + } + /* line 183, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a { + padding: 10px; + font-size: 0.85em; + } + /* line 187, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a i { + margin-right: 0; + display: block; + margin-bottom: 5px; + } + /* line 194, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active > ul > li > a > i { + font-size: 1.8em; + } + /* line 198, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul ul a { + padding: 10px !important; + } + /* line 207, app/assets/stylesheets/admins/sidebar.scss */ + .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); + } +} + +/* line 4, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 5, app/assets/stylesheets/admins/users.scss */ +.admins-users-index-page .users-list-container { + text-align: center; +} + +/* line 12, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-content, .admins-users-update-page .user-edit-container .user-info-content { + padding-top: 5px; + padding-bottom: 5px; + height: 80px; +} + +/* line 18, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-name, .admins-users-update-page .user-edit-container .user-info-name { + -webkit-box-flex: 2; + flex: 2; + font-size: 16px; +} + +/* line 23, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth, .admins-users-update-page .user-edit-container .user-info-auth { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 26, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth i.fa, .admins-users-update-page .user-edit-container .user-info-auth i.fa { + margin-right: 10px; + font-size: 16px; + width: 16px; + height: 16px; + text-align: center; +} + +/* line 11, app/assets/stylesheets/admin.scss */ +body { + width: 100vw; + height: 100vh; + max-width: 100vw; + max-height: 100vh; + display: -webkit-box; + display: flex; + -webkit-box-align: stretch; + align-items: stretch; + font-size: 14px; + background: #efefef; +} + +/* line 23, app/assets/stylesheets/admin.scss */ +a:hover { + text-decoration: unset; +} + +/* line 28, app/assets/stylesheets/admin.scss */ +textarea.danger, input.danger { + border-color: #dc3545 !important; +} + +/* line 32, app/assets/stylesheets/admin.scss */ +label.error { + color: #dc3545 !important; +} + +/* line 38, app/assets/stylesheets/admin.scss */ +.simple_form .form-group .collection_radio_buttons { + margin-bottom: 0px; +} + +/* line 42, app/assets/stylesheets/admin.scss */ +.simple_form .form-group .form-check-inline { + height: calc(1.5em + 0.75rem + 2px); +} + +/* line 48, app/assets/stylesheets/admin.scss */ +.flex-1 { + -webkit-box-flex: 1; + flex: 1; +} diff --git a/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css.gz b/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css.gz new file mode 100644 index 000000000..682386081 Binary files /dev/null and b/public/assets/admin-8a2b03cb8a055dc63f45443b304cae77382331beba55b1570b3d3c8aa42442d5.css.gz differ diff --git a/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js b/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js new file mode 100644 index 000000000..268928474 --- /dev/null +++ b/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js @@ -0,0 +1,29988 @@ +/* +Unobtrusive JavaScript +https://github.com/rails/rails/blob/master/actionview/app/assets/javascripts +Released under the MIT license + */ + + +(function() { + var context = this; + + (function() { + (function() { + this.Rails = { + linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]', + buttonClickSelector: { + selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])', + exclude: 'form button' + }, + inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]', + formSubmitSelector: 'form', + formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])', + formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled', + formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled', + fileInputSelector: 'input[name][type=file]:not([disabled])', + linkDisableSelector: 'a[data-disable-with], a[data-disable]', + buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]' + }; + + }).call(this); + }).call(context); + + var Rails = context.Rails; + + (function() { + (function() { + var cspNonce; + + cspNonce = Rails.cspNonce = function() { + var meta; + meta = document.querySelector('meta[name=csp-nonce]'); + return meta && meta.content; + }; + + }).call(this); + (function() { + var expando, m; + + m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector; + + Rails.matches = function(element, selector) { + if (selector.exclude != null) { + return m.call(element, selector.selector) && !m.call(element, selector.exclude); + } else { + return m.call(element, selector); + } + }; + + expando = '_ujsData'; + + Rails.getData = function(element, key) { + var ref; + return (ref = element[expando]) != null ? ref[key] : void 0; + }; + + Rails.setData = function(element, key, value) { + if (element[expando] == null) { + element[expando] = {}; + } + return element[expando][key] = value; + }; + + Rails.$ = function(selector) { + return Array.prototype.slice.call(document.querySelectorAll(selector)); + }; + + }).call(this); + (function() { + var $, csrfParam, csrfToken; + + $ = Rails.$; + + csrfToken = Rails.csrfToken = function() { + var meta; + meta = document.querySelector('meta[name=csrf-token]'); + return meta && meta.content; + }; + + csrfParam = Rails.csrfParam = function() { + var meta; + meta = document.querySelector('meta[name=csrf-param]'); + return meta && meta.content; + }; + + Rails.CSRFProtection = function(xhr) { + var token; + token = csrfToken(); + if (token != null) { + return xhr.setRequestHeader('X-CSRF-Token', token); + } + }; + + Rails.refreshCSRFTokens = function() { + var param, token; + token = csrfToken(); + param = csrfParam(); + if ((token != null) && (param != null)) { + return $('form input[name="' + param + '"]').forEach(function(input) { + return input.value = token; + }); + } + }; + + }).call(this); + (function() { + var CustomEvent, fire, matches, preventDefault; + + matches = Rails.matches; + + CustomEvent = window.CustomEvent; + + if (typeof CustomEvent !== 'function') { + CustomEvent = function(event, params) { + var evt; + evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + }; + CustomEvent.prototype = window.Event.prototype; + preventDefault = CustomEvent.prototype.preventDefault; + CustomEvent.prototype.preventDefault = function() { + var result; + result = preventDefault.call(this); + if (this.cancelable && !this.defaultPrevented) { + Object.defineProperty(this, 'defaultPrevented', { + get: function() { + return true; + } + }); + } + return result; + }; + } + + fire = Rails.fire = function(obj, name, data) { + var event; + event = new CustomEvent(name, { + bubbles: true, + cancelable: true, + detail: data + }); + obj.dispatchEvent(event); + return !event.defaultPrevented; + }; + + Rails.stopEverything = function(e) { + fire(e.target, 'ujs:everythingStopped'); + e.preventDefault(); + e.stopPropagation(); + return e.stopImmediatePropagation(); + }; + + Rails.delegate = function(element, selector, eventType, handler) { + return element.addEventListener(eventType, function(e) { + var target; + target = e.target; + while (!(!(target instanceof Element) || matches(target, selector))) { + target = target.parentNode; + } + if (target instanceof Element && handler.call(target, e) === false) { + e.preventDefault(); + return e.stopPropagation(); + } + }); + }; + + }).call(this); + (function() { + var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse; + + cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire; + + AcceptHeaders = { + '*': '*/*', + text: 'text/plain', + html: 'text/html', + xml: 'application/xml, text/xml', + json: 'application/json, text/javascript', + script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript' + }; + + Rails.ajax = function(options) { + var xhr; + options = prepareOptions(options); + xhr = createXHR(options, function() { + var ref, response; + response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type')); + if (Math.floor(xhr.status / 100) === 2) { + if (typeof options.success === "function") { + options.success(response, xhr.statusText, xhr); + } + } else { + if (typeof options.error === "function") { + options.error(response, xhr.statusText, xhr); + } + } + return typeof options.complete === "function" ? options.complete(xhr, xhr.statusText) : void 0; + }); + if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) { + return false; + } + if (xhr.readyState === XMLHttpRequest.OPENED) { + return xhr.send(options.data); + } + }; + + prepareOptions = function(options) { + options.url = options.url || location.href; + options.type = options.type.toUpperCase(); + if (options.type === 'GET' && options.data) { + if (options.url.indexOf('?') < 0) { + options.url += '?' + options.data; + } else { + options.url += '&' + options.data; + } + } + if (AcceptHeaders[options.dataType] == null) { + options.dataType = '*'; + } + options.accept = AcceptHeaders[options.dataType]; + if (options.dataType !== '*') { + options.accept += ', */*; q=0.01'; + } + return options; + }; + + createXHR = function(options, done) { + var xhr; + xhr = new XMLHttpRequest(); + xhr.open(options.type, options.url, true); + xhr.setRequestHeader('Accept', options.accept); + if (typeof options.data === 'string') { + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + } + if (!options.crossDomain) { + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + CSRFProtection(xhr); + xhr.withCredentials = !!options.withCredentials; + xhr.onreadystatechange = function() { + if (xhr.readyState === XMLHttpRequest.DONE) { + return done(xhr); + } + }; + return xhr; + }; + + processResponse = function(response, type) { + var parser, script; + if (typeof response === 'string' && typeof type === 'string') { + if (type.match(/\bjson\b/)) { + try { + response = JSON.parse(response); + } catch (error) {} + } else if (type.match(/\b(?:java|ecma)script\b/)) { + script = document.createElement('script'); + script.setAttribute('nonce', cspNonce()); + script.text = response; + document.head.appendChild(script).parentNode.removeChild(script); + } else if (type.match(/\b(xml|html|svg)\b/)) { + parser = new DOMParser(); + type = type.replace(/;.+/, ''); + try { + response = parser.parseFromString(response, type); + } catch (error) {} + } + } + return response; + }; + + Rails.href = function(element) { + return element.href; + }; + + Rails.isCrossDomain = function(url) { + var e, originAnchor, urlAnchor; + originAnchor = document.createElement('a'); + originAnchor.href = location.href; + urlAnchor = document.createElement('a'); + try { + urlAnchor.href = url; + return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host)); + } catch (error) { + e = error; + return true; + } + }; + + }).call(this); + (function() { + var matches, toArray; + + matches = Rails.matches; + + toArray = function(e) { + return Array.prototype.slice.call(e); + }; + + Rails.serializeElement = function(element, additionalParam) { + var inputs, params; + inputs = [element]; + if (matches(element, 'form')) { + inputs = toArray(element.elements); + } + params = []; + inputs.forEach(function(input) { + if (!input.name || input.disabled) { + return; + } + if (matches(input, 'select')) { + return toArray(input.options).forEach(function(option) { + if (option.selected) { + return params.push({ + name: input.name, + value: option.value + }); + } + }); + } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) { + return params.push({ + name: input.name, + value: input.value + }); + } + }); + if (additionalParam) { + params.push(additionalParam); + } + return params.map(function(param) { + if (param.name != null) { + return (encodeURIComponent(param.name)) + "=" + (encodeURIComponent(param.value)); + } else { + return param; + } + }).join('&'); + }; + + Rails.formElements = function(form, selector) { + if (matches(form, 'form')) { + return toArray(form.elements).filter(function(el) { + return matches(el, selector); + }); + } else { + return toArray(form.querySelectorAll(selector)); + } + }; + + }).call(this); + (function() { + var allowAction, fire, stopEverything; + + fire = Rails.fire, stopEverything = Rails.stopEverything; + + Rails.handleConfirm = function(e) { + if (!allowAction(this)) { + return stopEverything(e); + } + }; + + allowAction = function(element) { + var answer, callback, message; + message = element.getAttribute('data-confirm'); + if (!message) { + return true; + } + answer = false; + if (fire(element, 'confirm')) { + try { + answer = confirm(message); + } catch (error) {} + callback = fire(element, 'confirm:complete', [answer]); + } + return answer && callback; + }; + + }).call(this); + (function() { + var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, matches, setData, stopEverything; + + matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements; + + Rails.handleDisabledElement = function(e) { + var element; + element = this; + if (element.disabled) { + return stopEverything(e); + } + }; + + Rails.enableElement = function(e) { + var element; + element = e instanceof Event ? e.target : e; + if (matches(element, Rails.linkDisableSelector)) { + return enableLinkElement(element); + } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) { + return enableFormElement(element); + } else if (matches(element, Rails.formSubmitSelector)) { + return enableFormElements(element); + } + }; + + Rails.disableElement = function(e) { + var element; + element = e instanceof Event ? e.target : e; + if (matches(element, Rails.linkDisableSelector)) { + return disableLinkElement(element); + } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) { + return disableFormElement(element); + } else if (matches(element, Rails.formSubmitSelector)) { + return disableFormElements(element); + } + }; + + disableLinkElement = function(element) { + var replacement; + replacement = element.getAttribute('data-disable-with'); + if (replacement != null) { + setData(element, 'ujs:enable-with', element.innerHTML); + element.innerHTML = replacement; + } + element.addEventListener('click', stopEverything); + return setData(element, 'ujs:disabled', true); + }; + + enableLinkElement = function(element) { + var originalText; + originalText = getData(element, 'ujs:enable-with'); + if (originalText != null) { + element.innerHTML = originalText; + setData(element, 'ujs:enable-with', null); + } + element.removeEventListener('click', stopEverything); + return setData(element, 'ujs:disabled', null); + }; + + disableFormElements = function(form) { + return formElements(form, Rails.formDisableSelector).forEach(disableFormElement); + }; + + disableFormElement = function(element) { + var replacement; + replacement = element.getAttribute('data-disable-with'); + if (replacement != null) { + if (matches(element, 'button')) { + setData(element, 'ujs:enable-with', element.innerHTML); + element.innerHTML = replacement; + } else { + setData(element, 'ujs:enable-with', element.value); + element.value = replacement; + } + } + element.disabled = true; + return setData(element, 'ujs:disabled', true); + }; + + enableFormElements = function(form) { + return formElements(form, Rails.formEnableSelector).forEach(enableFormElement); + }; + + enableFormElement = function(element) { + var originalText; + originalText = getData(element, 'ujs:enable-with'); + if (originalText != null) { + if (matches(element, 'button')) { + element.innerHTML = originalText; + } else { + element.value = originalText; + } + setData(element, 'ujs:enable-with', null); + } + element.disabled = false; + return setData(element, 'ujs:disabled', null); + }; + + }).call(this); + (function() { + var stopEverything; + + stopEverything = Rails.stopEverything; + + Rails.handleMethod = function(e) { + var csrfParam, csrfToken, form, formContent, href, link, method; + link = this; + method = link.getAttribute('data-method'); + if (!method) { + return; + } + href = Rails.href(link); + csrfToken = Rails.csrfToken(); + csrfParam = Rails.csrfParam(); + form = document.createElement('form'); + formContent = "<input name='_method' value='" + method + "' type='hidden' />"; + if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) { + formContent += "<input name='" + csrfParam + "' value='" + csrfToken + "' type='hidden' />"; + } + formContent += '<input type="submit" />'; + form.method = 'post'; + form.action = href; + form.target = link.target; + form.innerHTML = formContent; + form.style.display = 'none'; + document.body.appendChild(form); + form.querySelector('[type="submit"]').click(); + return stopEverything(e); + }; + + }).call(this); + (function() { + var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything, + slice = [].slice; + + matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement; + + isRemote = function(element) { + var value; + value = element.getAttribute('data-remote'); + return (value != null) && value !== 'false'; + }; + + Rails.handleRemote = function(e) { + var button, data, dataType, element, method, url, withCredentials; + element = this; + if (!isRemote(element)) { + return true; + } + if (!fire(element, 'ajax:before')) { + fire(element, 'ajax:stopped'); + return false; + } + withCredentials = element.getAttribute('data-with-credentials'); + dataType = element.getAttribute('data-type') || 'script'; + if (matches(element, Rails.formSubmitSelector)) { + button = getData(element, 'ujs:submit-button'); + method = getData(element, 'ujs:submit-button-formmethod') || element.method; + url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href; + if (method.toUpperCase() === 'GET') { + url = url.replace(/\?.*$/, ''); + } + if (element.enctype === 'multipart/form-data') { + data = new FormData(element); + if (button != null) { + data.append(button.name, button.value); + } + } else { + data = serializeElement(element, button); + } + setData(element, 'ujs:submit-button', null); + setData(element, 'ujs:submit-button-formmethod', null); + setData(element, 'ujs:submit-button-formaction', null); + } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) { + method = element.getAttribute('data-method'); + url = element.getAttribute('data-url'); + data = serializeElement(element, element.getAttribute('data-params')); + } else { + method = element.getAttribute('data-method'); + url = Rails.href(element); + data = element.getAttribute('data-params'); + } + ajax({ + type: method || 'GET', + url: url, + data: data, + dataType: dataType, + beforeSend: function(xhr, options) { + if (fire(element, 'ajax:beforeSend', [xhr, options])) { + return fire(element, 'ajax:send', [xhr]); + } else { + fire(element, 'ajax:stopped'); + return false; + } + }, + success: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:success', args); + }, + error: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:error', args); + }, + complete: function() { + var args; + args = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return fire(element, 'ajax:complete', args); + }, + crossDomain: isCrossDomain(url), + withCredentials: (withCredentials != null) && withCredentials !== 'false' + }); + return stopEverything(e); + }; + + Rails.formSubmitButtonClick = function(e) { + var button, form; + button = this; + form = button.form; + if (!form) { + return; + } + if (button.name) { + setData(form, 'ujs:submit-button', { + name: button.name, + value: button.value + }); + } + setData(form, 'ujs:formnovalidate-button', button.formNoValidate); + setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction')); + return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod')); + }; + + Rails.handleMetaClick = function(e) { + var data, link, metaClick, method; + link = this; + method = (link.getAttribute('data-method') || 'GET').toUpperCase(); + data = link.getAttribute('data-params'); + metaClick = e.metaKey || e.ctrlKey; + if (metaClick && method === 'GET' && !data) { + return e.stopImmediatePropagation(); + } + }; + + }).call(this); + (function() { + var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMetaClick, handleMethod, handleRemote, refreshCSRFTokens; + + fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMetaClick = Rails.handleMetaClick, handleMethod = Rails.handleMethod; + + if ((typeof jQuery !== "undefined" && jQuery !== null) && (jQuery.ajax != null) && !jQuery.rails) { + jQuery.rails = Rails; + jQuery.ajaxPrefilter(function(options, originalOptions, xhr) { + if (!options.crossDomain) { + return CSRFProtection(xhr); + } + }); + } + + Rails.start = function() { + if (window._rails_loaded) { + throw new Error('rails-ujs has already been loaded!'); + } + window.addEventListener('pageshow', function() { + $(Rails.formEnableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + return $(Rails.linkDisableSelector).forEach(function(el) { + if (getData(el, 'ujs:disabled')) { + return enableElement(el); + } + }); + }); + delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement); + delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement); + delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.linkClickSelector, 'click', handleConfirm); + delegate(document, Rails.linkClickSelector, 'click', handleMetaClick); + delegate(document, Rails.linkClickSelector, 'click', disableElement); + delegate(document, Rails.linkClickSelector, 'click', handleRemote); + delegate(document, Rails.linkClickSelector, 'click', handleMethod); + delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.buttonClickSelector, 'click', handleConfirm); + delegate(document, Rails.buttonClickSelector, 'click', disableElement); + delegate(document, Rails.buttonClickSelector, 'click', handleRemote); + delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement); + delegate(document, Rails.inputChangeSelector, 'change', handleConfirm); + delegate(document, Rails.inputChangeSelector, 'change', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement); + delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm); + delegate(document, Rails.formSubmitSelector, 'submit', handleRemote); + delegate(document, Rails.formSubmitSelector, 'submit', function(e) { + return setTimeout((function() { + return disableElement(e); + }), 13); + }); + delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement); + delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement); + delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement); + delegate(document, Rails.formInputClickSelector, 'click', handleConfirm); + delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick); + document.addEventListener('DOMContentLoaded', refreshCSRFTokens); + return window._rails_loaded = true; + }; + + if (window.Rails === Rails && fire(document, 'rails:attachBindings')) { + Rails.start(); + } + + }).call(this); + }).call(this); + + if (typeof module === "object" && module.exports) { + module.exports = Rails; + } else if (typeof define === "function" && define.amd) { + define(Rails); + } +}).call(this); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ActiveStorage=e():t.ActiveStorage=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=2)}([function(t,e,r){"use strict";function n(t){var e=a(document.head,'meta[name="'+t+'"]');if(e)return e.getAttribute("content")}function i(t,e){return"string"==typeof t&&(e=t,t=document),o(t.querySelectorAll(e))}function a(t,e){return"string"==typeof t&&(e=t,t=document),t.querySelector(e)}function u(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.disabled,i=r.bubbles,a=r.cancelable,u=r.detail,o=document.createEvent("Event");o.initEvent(e,i||!0,a||!0),o.detail=u||{};try{t.disabled=!1,t.dispatchEvent(o)}finally{t.disabled=n}return o}function o(t){return Array.isArray(t)?t:Array.from?Array.from(t):[].slice.call(t)}e.d=n,e.c=i,e.b=a,e.a=u,e.e=o},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(t&&"function"==typeof t[e]){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return t[e].apply(t,n)}}r.d(e,"a",function(){return c});var a=r(6),u=r(8),o=r(9),s=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),f=0,c=function(){function t(e,r,i){n(this,t),this.id=++f,this.file=e,this.url=r,this.delegate=i}return s(t,[{key:"create",value:function(t){var e=this;a.a.create(this.file,function(r,n){if(r)return void t(r);var a=new u.a(e.file,n,e.url);i(e.delegate,"directUploadWillCreateBlobWithXHR",a.xhr),a.create(function(r){if(r)t(r);else{var n=new o.a(a);i(e.delegate,"directUploadWillStoreFileWithXHR",n.xhr),n.create(function(e){e?t(e):t(null,a.toJSON())})}})})}}]),t}()},function(t,e,r){"use strict";function n(){window.ActiveStorage&&Object(i.a)()}Object.defineProperty(e,"__esModule",{value:!0});var i=r(3),a=r(1);r.d(e,"start",function(){return i.a}),r.d(e,"DirectUpload",function(){return a.a}),setTimeout(n,1)},function(t,e,r){"use strict";function n(){d||(d=!0,document.addEventListener("submit",i),document.addEventListener("ajax:before",a))}function i(t){u(t)}function a(t){"FORM"==t.target.tagName&&u(t)}function u(t){var e=t.target;if(e.hasAttribute(l))return void t.preventDefault();var r=new c.a(e),n=r.inputs;n.length&&(t.preventDefault(),e.setAttribute(l,""),n.forEach(s),r.start(function(t){e.removeAttribute(l),t?n.forEach(f):o(e)}))}function o(t){var e=Object(h.b)(t,"input[type=submit]");if(e){var r=e,n=r.disabled;e.disabled=!1,e.focus(),e.click(),e.disabled=n}else e=document.createElement("input"),e.type="submit",e.style.display="none",t.appendChild(e),e.click(),t.removeChild(e)}function s(t){t.disabled=!0}function f(t){t.disabled=!1}e.a=n;var c=r(4),h=r(0),l="data-direct-uploads-processing",d=!1},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return s});var i=r(5),a=r(0),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o="input[type=file][data-direct-upload-url]:not([disabled])",s=function(){function t(e){n(this,t),this.form=e,this.inputs=Object(a.c)(e,o).filter(function(t){return t.files.length})}return u(t,[{key:"start",value:function(t){var e=this,r=this.createDirectUploadControllers();this.dispatch("start"),function n(){var i=r.shift();i?i.start(function(r){r?(t(r),e.dispatch("end")):n()}):(t(),e.dispatch("end"))}()}},{key:"createDirectUploadControllers",value:function(){var t=[];return this.inputs.forEach(function(e){Object(a.e)(e.files).forEach(function(r){var n=new i.a(e,r);t.push(n)})}),t}},{key:"dispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(a.a)(this.form,"direct-uploads:"+t,{detail:e})}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return o});var i=r(1),a=r(0),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=function(){function t(e,r){n(this,t),this.input=e,this.file=r,this.directUpload=new i.a(this.file,this.url,this),this.dispatch("initialize")}return u(t,[{key:"start",value:function(t){var e=this,r=document.createElement("input");r.type="hidden",r.name=this.input.name,this.input.insertAdjacentElement("beforebegin",r),this.dispatch("start"),this.directUpload.create(function(n,i){n?(r.parentNode.removeChild(r),e.dispatchError(n)):r.value=i.signed_id,e.dispatch("end"),t(n)})}},{key:"uploadRequestDidProgress",value:function(t){var e=t.loaded/t.total*100;e&&this.dispatch("progress",{progress:e})}},{key:"dispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.file=this.file,e.id=this.directUpload.id,Object(a.a)(this.input,"direct-upload:"+t,{detail:e})}},{key:"dispatchError",value:function(t){this.dispatch("error",{error:t}).defaultPrevented||alert(t)}},{key:"directUploadWillCreateBlobWithXHR",value:function(t){this.dispatch("before-blob-request",{xhr:t})}},{key:"directUploadWillStoreFileWithXHR",value:function(t){var e=this;this.dispatch("before-storage-request",{xhr:t}),t.upload.addEventListener("progress",function(t){return e.uploadRequestDidProgress(t)})}},{key:"url",get:function(){return this.input.getAttribute("data-direct-upload-url")}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return s});var i=r(7),a=r.n(i),u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=File.prototype.slice||File.prototype.mozSlice||File.prototype.webkitSlice,s=function(){function t(e){n(this,t),this.file=e,this.chunkSize=2097152,this.chunkCount=Math.ceil(this.file.size/this.chunkSize),this.chunkIndex=0}return u(t,null,[{key:"create",value:function(e,r){new t(e).create(r)}}]),u(t,[{key:"create",value:function(t){var e=this;this.callback=t,this.md5Buffer=new a.a.ArrayBuffer,this.fileReader=new FileReader,this.fileReader.addEventListener("load",function(t){return e.fileReaderDidLoad(t)}),this.fileReader.addEventListener("error",function(t){return e.fileReaderDidError(t)}),this.readNextChunk()}},{key:"fileReaderDidLoad",value:function(t){if(this.md5Buffer.append(t.target.result),!this.readNextChunk()){var e=this.md5Buffer.end(!0),r=btoa(e);this.callback(null,r)}}},{key:"fileReaderDidError",value:function(t){this.callback("Error reading "+this.file.name)}},{key:"readNextChunk",value:function(){if(this.chunkIndex<this.chunkCount||0==this.chunkIndex&&0==this.chunkCount){var t=this.chunkIndex*this.chunkSize,e=Math.min(t+this.chunkSize,this.file.size),r=o.call(this.file,t,e);return this.fileReader.readAsArrayBuffer(r),this.chunkIndex++,!0}return!1}}]),t}()},function(t,e,r){!function(e){t.exports=e()}(function(t){"use strict";function e(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r+=(n&i|~n&a)+e[0]-680876936|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[1]-389564586|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[2]+606105819|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[3]-1044525330|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[4]-176418897|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[5]+1200080426|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[6]-1473231341|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[7]-45705983|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[8]+1770035416|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[9]-1958414417|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[10]-42063|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[11]-1990404162|0,n=(n<<22|n>>>10)+i|0,r+=(n&i|~n&a)+e[12]+1804603682|0,r=(r<<7|r>>>25)+n|0,a+=(r&n|~r&i)+e[13]-40341101|0,a=(a<<12|a>>>20)+r|0,i+=(a&r|~a&n)+e[14]-1502002290|0,i=(i<<17|i>>>15)+a|0,n+=(i&a|~i&r)+e[15]+1236535329|0,n=(n<<22|n>>>10)+i|0,r+=(n&a|i&~a)+e[1]-165796510|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[6]-1069501632|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[11]+643717713|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[0]-373897302|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[5]-701558691|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[10]+38016083|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[15]-660478335|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[4]-405537848|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[9]+568446438|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[14]-1019803690|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[3]-187363961|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[8]+1163531501|0,n=(n<<20|n>>>12)+i|0,r+=(n&a|i&~a)+e[13]-1444681467|0,r=(r<<5|r>>>27)+n|0,a+=(r&i|n&~i)+e[2]-51403784|0,a=(a<<9|a>>>23)+r|0,i+=(a&n|r&~n)+e[7]+1735328473|0,i=(i<<14|i>>>18)+a|0,n+=(i&r|a&~r)+e[12]-1926607734|0,n=(n<<20|n>>>12)+i|0,r+=(n^i^a)+e[5]-378558|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[8]-2022574463|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[11]+1839030562|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[14]-35309556|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[1]-1530992060|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[4]+1272893353|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[7]-155497632|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[10]-1094730640|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[13]+681279174|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[0]-358537222|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[3]-722521979|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[6]+76029189|0,n=(n<<23|n>>>9)+i|0,r+=(n^i^a)+e[9]-640364487|0,r=(r<<4|r>>>28)+n|0,a+=(r^n^i)+e[12]-421815835|0,a=(a<<11|a>>>21)+r|0,i+=(a^r^n)+e[15]+530742520|0,i=(i<<16|i>>>16)+a|0,n+=(i^a^r)+e[2]-995338651|0,n=(n<<23|n>>>9)+i|0,r+=(i^(n|~a))+e[0]-198630844|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[7]+1126891415|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[14]-1416354905|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[5]-57434055|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[12]+1700485571|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[3]-1894986606|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[10]-1051523|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[1]-2054922799|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[8]+1873313359|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[15]-30611744|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[6]-1560198380|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[13]+1309151649|0,n=(n<<21|n>>>11)+i|0,r+=(i^(n|~a))+e[4]-145523070|0,r=(r<<6|r>>>26)+n|0,a+=(n^(r|~i))+e[11]-1120210379|0,a=(a<<10|a>>>22)+r|0,i+=(r^(a|~n))+e[2]+718787259|0,i=(i<<15|i>>>17)+a|0,n+=(a^(i|~r))+e[9]-343485551|0,n=(n<<21|n>>>11)+i|0,t[0]=r+t[0]|0,t[1]=n+t[1]|0,t[2]=i+t[2]|0,t[3]=a+t[3]|0}function r(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}function n(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t[e]+(t[e+1]<<8)+(t[e+2]<<16)+(t[e+3]<<24);return r}function i(t){var n,i,a,u,o,s,f=t.length,c=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=f;n+=64)e(c,r(t.substring(n-64,n)));for(t=t.substring(n-64),i=t.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=0;n<i;n+=1)a[n>>2]|=t.charCodeAt(n)<<(n%4<<3);if(a[n>>2]|=128<<(n%4<<3),n>55)for(e(c,a),n=0;n<16;n+=1)a[n]=0;return u=8*f,u=u.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(u[2],16),s=parseInt(u[1],16)||0,a[14]=o,a[15]=s,e(c,a),c}function a(t){var r,i,a,u,o,s,f=t.length,c=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=f;r+=64)e(c,n(t.subarray(r-64,r)));for(t=r-64<f?t.subarray(r-64):new Uint8Array(0),i=t.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<i;r+=1)a[r>>2]|=t[r]<<(r%4<<3);if(a[r>>2]|=128<<(r%4<<3),r>55)for(e(c,a),r=0;r<16;r+=1)a[r]=0;return u=8*f,u=u.toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(u[2],16),s=parseInt(u[1],16)||0,a[14]=o,a[15]=s,e(c,a),c}function u(t){var e,r="";for(e=0;e<4;e+=1)r+=p[t>>8*e+4&15]+p[t>>8*e&15];return r}function o(t){var e;for(e=0;e<t.length;e+=1)t[e]=u(t[e]);return t.join("")}function s(t){return/[\u0080-\uFFFF]/.test(t)&&(t=unescape(encodeURIComponent(t))),t}function f(t,e){var r,n=t.length,i=new ArrayBuffer(n),a=new Uint8Array(i);for(r=0;r<n;r+=1)a[r]=t.charCodeAt(r);return e?a:i}function c(t){return String.fromCharCode.apply(null,new Uint8Array(t))}function h(t,e,r){var n=new Uint8Array(t.byteLength+e.byteLength);return n.set(new Uint8Array(t)),n.set(new Uint8Array(e),t.byteLength),r?n:n.buffer}function l(t){var e,r=[],n=t.length;for(e=0;e<n-1;e+=2)r.push(parseInt(t.substr(e,2),16));return String.fromCharCode.apply(String,r)}function d(){this.reset()}var p=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return"5d41402abc4b2a76b9719d911017c592"!==o(i("hello"))&&function(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r},"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function e(t,e){return t=0|t||0,t<0?Math.max(t+e,0):Math.min(t,e)}ArrayBuffer.prototype.slice=function(r,n){var i,a,u,o,s=this.byteLength,f=e(r,s),c=s;return n!==t&&(c=e(n,s)),f>c?new ArrayBuffer(0):(i=c-f,a=new ArrayBuffer(i),u=new Uint8Array(a),o=new Uint8Array(this,f,i),u.set(o),a)}}(),d.prototype.append=function(t){return this.appendBinary(s(t)),this},d.prototype.appendBinary=function(t){this._buff+=t,this._length+=t.length;var n,i=this._buff.length;for(n=64;n<=i;n+=64)e(this._hash,r(this._buff.substring(n-64,n)));return this._buff=this._buff.substring(n-64),this},d.prototype.end=function(t){var e,r,n=this._buff,i=n.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<i;e+=1)a[e>>2]|=n.charCodeAt(e)<<(e%4<<3);return this._finish(a,i),r=o(this._hash),t&&(r=l(r)),this.reset(),r},d.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},d.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}},d.prototype.setState=function(t){return this._buff=t.buff,this._length=t.length,this._hash=t.hash,this},d.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},d.prototype._finish=function(t,r){var n,i,a,u=r;if(t[u>>2]|=128<<(u%4<<3),u>55)for(e(this._hash,t),u=0;u<16;u+=1)t[u]=0;n=8*this._length,n=n.toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),a=parseInt(n[1],16)||0,t[14]=i,t[15]=a,e(this._hash,t)},d.hash=function(t,e){return d.hashBinary(s(t),e)},d.hashBinary=function(t,e){var r=i(t),n=o(r);return e?l(n):n},d.ArrayBuffer=function(){this.reset()},d.ArrayBuffer.prototype.append=function(t){var r,i=h(this._buff.buffer,t,!0),a=i.length;for(this._length+=t.byteLength,r=64;r<=a;r+=64)e(this._hash,n(i.subarray(r-64,r)));return this._buff=r-64<a?new Uint8Array(i.buffer.slice(r-64)):new Uint8Array(0),this},d.ArrayBuffer.prototype.end=function(t){var e,r,n=this._buff,i=n.length,a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<i;e+=1)a[e>>2]|=n[e]<<(e%4<<3);return this._finish(a,i),r=o(this._hash),t&&(r=l(r)),this.reset(),r},d.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},d.ArrayBuffer.prototype.getState=function(){var t=d.prototype.getState.call(this);return t.buff=c(t.buff),t},d.ArrayBuffer.prototype.setState=function(t){return t.buff=f(t.buff,!0),d.prototype.setState.call(this,t)},d.ArrayBuffer.prototype.destroy=d.prototype.destroy,d.ArrayBuffer.prototype._finish=d.prototype._finish,d.ArrayBuffer.hash=function(t,e){var r=a(new Uint8Array(t)),n=o(r);return e?l(n):n},d})},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return u});var i=r(0),a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),u=function(){function t(e,r,a){var u=this;n(this,t),this.file=e,this.attributes={filename:e.name,content_type:e.type,byte_size:e.size,checksum:r},this.xhr=new XMLHttpRequest,this.xhr.open("POST",a,!0),this.xhr.responseType="json",this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.setRequestHeader("Accept","application/json"),this.xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.xhr.setRequestHeader("X-CSRF-Token",Object(i.d)("csrf-token")),this.xhr.addEventListener("load",function(t){return u.requestDidLoad(t)}),this.xhr.addEventListener("error",function(t){return u.requestDidError(t)})}return a(t,[{key:"create",value:function(t){this.callback=t,this.xhr.send(JSON.stringify({blob:this.attributes}))}},{key:"requestDidLoad",value:function(t){if(this.status>=200&&this.status<300){var e=this.response,r=e.direct_upload;delete e.direct_upload,this.attributes=e,this.directUploadData=r,this.callback(null,this.toJSON())}else this.requestDidError(t)}},{key:"requestDidError",value:function(t){this.callback('Error creating Blob for "'+this.file.name+'". Status: '+this.status)}},{key:"toJSON",value:function(){var t={};for(var e in this.attributes)t[e]=this.attributes[e];return t}},{key:"status",get:function(){return this.xhr.status}},{key:"response",get:function(){var t=this.xhr,e=t.responseType,r=t.response;return"json"==e?r:JSON.parse(r)}}]),t}()},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r.d(e,"a",function(){return a});var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),a=function(){function t(e){var r=this;n(this,t),this.blob=e,this.file=e.file;var i=e.directUploadData,a=i.url,u=i.headers;this.xhr=new XMLHttpRequest,this.xhr.open("PUT",a,!0),this.xhr.responseType="text";for(var o in u)this.xhr.setRequestHeader(o,u[o]);this.xhr.addEventListener("load",function(t){return r.requestDidLoad(t)}),this.xhr.addEventListener("error",function(t){return r.requestDidError(t)})}return i(t,[{key:"create",value:function(t){this.callback=t,this.xhr.send(this.file.slice())}},{key:"requestDidLoad",value:function(t){var e=this.xhr,r=e.status,n=e.response;r>=200&&r<300?this.callback(null,n):this.requestDidError(t)}},{key:"requestDidError",value:function(t){this.callback('Error storing "'+this.file.name+'". Status: '+this.xhr.status)}}]),t}()}])}); +/* +Turbolinks 5.2.0 +Copyright © 2018 Basecamp, LLC + */ + +(function(){var t=this;(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState&&null!=window.requestAnimationFrame&&null!=window.addEventListener}(),visit:function(t,r){return e.controller.visit(t,r)},clearCache:function(){return e.controller.clearCache()},setProgressBarDelay:function(t){return e.controller.setProgressBarDelay(t)}}}).call(this)}).call(t);var e=t.Turbolinks;(function(){(function(){var t,r,n,o=[].slice;e.copyObject=function(t){var e,r,n;r={};for(e in t)n=t[e],r[e]=n;return r},e.closest=function(e,r){return t.call(e,r)},t=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE&&r.call(e,t))return e;e=e.parentNode}}}(),e.defer=function(t){return setTimeout(t,1)},e.throttle=function(t){var e;return e=null,function(){var r;return r=1<=arguments.length?o.call(arguments,0):[],null!=e?e:e=requestAnimationFrame(function(n){return function(){return e=null,t.apply(n,r)}}(this))}},e.dispatch=function(t,e){var r,o,i,s,a,u;return a=null!=e?e:{},u=a.target,r=a.cancelable,o=a.data,i=document.createEvent("Events"),i.initEvent(t,!0,r===!0),i.data=null!=o?o:{},i.cancelable&&!n&&(s=i.preventDefault,i.preventDefault=function(){return this.defaultPrevented||Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}}),s.call(this)}),(null!=u?u:document).dispatchEvent(i),i},n=function(){var t;return t=document.createEvent("Events"),t.initEvent("test",!0,!0),t.preventDefault(),t.defaultPrevented}(),e.match=function(t,e){return r.call(t,e)},r=function(){var t,e,r,n;return t=document.documentElement,null!=(e=null!=(r=null!=(n=t.matchesSelector)?n:t.webkitMatchesSelector)?r:t.msMatchesSelector)?e:t.mozMatchesSelector}(),e.uuid=function(){var t,e,r;for(r="",t=e=1;36>=e;t=++e)r+=9===t||14===t||19===t||24===t?"-":15===t?"4":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return r}}).call(this),function(){e.Location=function(){function t(t){var e,r;null==t&&(t=""),r=document.createElement("a"),r.href=t.toString(),this.absoluteURL=r.href,e=r.hash.length,2>e?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=r.hash.slice(1))}var e,r,n,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split("/",3).join("/")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.requestURL.match(/\/\/[^\/]*(\/[^?;]*)/))?e[1]:void 0)?t:"/"},t.prototype.getPathComponents=function(){return this.getPath().split("/").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\.[^.]*$/))?e[0]:void 0)?t:""},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=r(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},r=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return n(t,"/")?t:t+"/"},o=function(t,e){return t.slice(0,e.length)===e},n=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.HttpRequest=function(){function r(r,n,o){this.delegate=r,this.requestCanceled=t(this.requestCanceled,this),this.requestTimedOut=t(this.requestTimedOut,this),this.requestFailed=t(this.requestFailed,this),this.requestLoaded=t(this.requestLoaded,this),this.requestProgressed=t(this.requestProgressed,this),this.url=e.Location.wrap(n).requestURL,this.referrer=e.Location.wrap(o).absoluteURL,this.createXHR()}return r.NETWORK_FAILURE=0,r.TIMEOUT_FAILURE=-1,r.timeout=60,r.prototype.send=function(){var t;return this.xhr&&!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,"function"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},r.prototype.cancel=function(){return this.xhr&&this.sent?this.xhr.abort():void 0},r.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},r.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200<=(e=t.xhr.status)&&300>e?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader("Turbolinks-Location")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},r.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},r.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},r.prototype.requestCanceled=function(){return this.endRequest()},r.prototype.notifyApplicationBeforeRequestStart=function(){return e.dispatch("turbolinks:request-start",{data:{url:this.url,xhr:this.xhr}})},r.prototype.notifyApplicationAfterRequestEnd=function(){return e.dispatch("turbolinks:request-end",{data:{url:this.url,xhr:this.xhr}})},r.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open("GET",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader("Accept","text/html, application/xhtml+xml"),this.xhr.setRequestHeader("Turbolinks-Referrer",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},r.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t&&t.call(this),this.destroy()):void 0},r.prototype.setProgress=function(t){var e;return this.progress=t,"function"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},r.prototype.destroy=function(){var t;return this.setProgress(1),"function"==typeof(t=this.delegate).requestFinished&&t.requestFinished(),this.delegate=null,this.xhr=null},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ProgressBar=function(){function e(){this.trickle=t(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var r;return r=300,e.defaultCSS=".turbolinks-progress-bar {\n position: fixed;\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n background: #0076ff;\n z-index: 9999;\n transition: width "+r+"ms ease-out, opacity "+r/2+"ms "+r/2+"ms ease-in;\n transform: translate3d(0, 0, 0);\n}",e.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},e.prototype.hide=function(){return this.visible&&!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},e.prototype.setValue=function(t){return this.value=t,this.refresh()},e.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},e.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},e.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*r)},e.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},e.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,r)},e.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},e.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},e.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+"%"}}(this))},e.prototype.createStylesheetElement=function(){var t;return t=document.createElement("style"),t.type="text/css",t.textContent=this.constructor.defaultCSS,t},e.prototype.createProgressElement=function(){var t;return t=document.createElement("div"),t.className="turbolinks-progress-bar",t},e}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.BrowserAdapter=function(){function r(r){this.controller=r,this.showProgressBar=t(this.showProgressBar,this),this.progressBar=new e.ProgressBar}var n,o,i;return i=e.HttpRequest,n=i.NETWORK_FAILURE,o=i.TIMEOUT_FAILURE,r.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},r.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},r.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||"restore"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},r.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},r.prototype.visitRequestCompleted=function(t){return t.loadResponse()},r.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case n:case o:return this.reload();default:return t.loadResponse()}},r.prototype.visitRequestFinished=function(t){return this.hideProgressBar()},r.prototype.visitCompleted=function(t){return t.followRedirect()},r.prototype.pageInvalidated=function(){return this.reload()},r.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,this.controller.progressBarDelay)},r.prototype.showProgressBar=function(){return this.progressBar.show()},r.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},r.prototype.reload=function(){return window.location.reload()},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.History=function(){function r(e){this.delegate=e,this.onPageLoad=t(this.onPageLoad,this),this.onPopState=t(this.onPopState,this)}return r.prototype.start=function(){return this.started?void 0:(addEventListener("popstate",this.onPopState,!1),addEventListener("load",this.onPageLoad,!1),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener("popstate",this.onPopState,!1),removeEventListener("load",this.onPageLoad,!1),this.started=!1):void 0},r.prototype.push=function(t,r){return t=e.Location.wrap(t),this.update("push",t,r)},r.prototype.replace=function(t,r){return t=e.Location.wrap(t),this.update("replace",t,r)},r.prototype.onPopState=function(t){var r,n,o,i;return this.shouldHandlePopState()&&(i=null!=(n=t.state)?n.turbolinks:void 0)?(r=e.Location.wrap(window.location),o=i.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(r,o)):void 0},r.prototype.onPageLoad=function(t){return e.defer(function(t){return function(){return t.pageLoaded=!0}}(this))},r.prototype.shouldHandlePopState=function(){return this.pageIsLoaded()},r.prototype.pageIsLoaded=function(){return this.pageLoaded||"complete"===document.readyState},r.prototype.update=function(t,e,r){var n;return n={turbolinks:{restorationIdentifier:r}},history[t+"State"](n,null,e)},r}()}.call(this),function(){e.HeadDetails=function(){function t(t){var e,r,n,s,a,u;for(this.elements={},n=0,a=t.length;a>n;n++)u=t[n],u.nodeType===Node.ELEMENT_NODE&&(s=u.outerHTML,r=null!=(e=this.elements)[s]?e[s]:e[s]={type:i(u),tracked:o(u),elements:[]},r.elements.push(u))}var e,r,n,o,i;return t.fromHeadElement=function(t){var e;return new this(null!=(e=null!=t?t.childNodes:void 0)?e:[])},t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var r,n;r=this.elements,n=[];for(t in r)e=r[t].tracked,e&&n.push(t);return n}.call(this).join("")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("script",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails("stylesheet",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var r,n,o,i,s,a;o=this.elements,s=[];for(n in o)i=o[n],a=i.type,r=i.elements,a!==t||e.hasElementWithKey(n)||s.push(r[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,r,n,o,i,s;r=[],n=this.elements;for(e in n)o=n[e],s=o.type,i=o.tracked,t=o.elements,null!=s||i?t.length>1&&r.push.apply(r,t.slice(1)):r.push.apply(r,t);return r},t.prototype.getMetaValue=function(t){var e;return null!=(e=this.findMetaElementByName(t))?e.getAttribute("content"):void 0},t.prototype.findMetaElementByName=function(t){var r,n,o,i;r=void 0,i=this.elements;for(o in i)n=i[o].elements,e(n[0],t)&&(r=n[0]);return r},i=function(t){return r(t)?"script":n(t)?"stylesheet":void 0},o=function(t){return"reload"===t.getAttribute("data-turbolinks-track")},r=function(t){var e;return e=t.tagName.toLowerCase(),"script"===e},n=function(t){var e;return e=t.tagName.toLowerCase(),"style"===e||"link"===e&&"stylesheet"===t.getAttribute("rel")},e=function(t,e){var r;return r=t.tagName.toLowerCase(),"meta"===r&&t.getAttribute("name")===e},t}()}.call(this),function(){e.Snapshot=function(){function t(t,e){this.headDetails=t,this.bodyElement=e}return t.wrap=function(t){return t instanceof this?t:"string"==typeof t?this.fromHTMLString(t):this.fromHTMLElement(t)},t.fromHTMLString=function(t){var e;return e=document.createElement("html"),e.innerHTML=t,this.fromHTMLElement(e)},t.fromHTMLElement=function(t){var r,n,o,i;return o=t.querySelector("head"),r=null!=(i=t.querySelector("body"))?i:document.createElement("body"),n=e.HeadDetails.fromHeadElement(o),new this(n,r)},t.prototype.clone=function(){return new this.constructor(this.headDetails,this.bodyElement.cloneNode(!0))},t.prototype.getRootLocation=function(){var t,r;return r=null!=(t=this.getSetting("root"))?t:"/",new e.Location(r)},t.prototype.getCacheControlValue=function(){return this.getSetting("cache-control")},t.prototype.getElementForAnchor=function(t){try{return this.bodyElement.querySelector("[id='"+t+"'], a[name='"+t+"']")}catch(e){}},t.prototype.getPermanentElements=function(){return this.bodyElement.querySelectorAll("[id][data-turbolinks-permanent]")},t.prototype.getPermanentElementById=function(t){return this.bodyElement.querySelector("#"+t+"[data-turbolinks-permanent]")},t.prototype.getPermanentElementsPresentInSnapshot=function(t){var e,r,n,o,i;for(o=this.getPermanentElements(),i=[],r=0,n=o.length;n>r;r++)e=o[r],t.getPermanentElementById(e.id)&&i.push(e);return i},t.prototype.findFirstAutofocusableElement=function(){return this.bodyElement.querySelector("[autofocus]")},t.prototype.hasAnchor=function(t){return null!=this.getElementForAnchor(t)},t.prototype.isPreviewable=function(){return"no-preview"!==this.getCacheControlValue()},t.prototype.isCacheable=function(){return"no-cache"!==this.getCacheControlValue()},t.prototype.isVisitable=function(){return"reload"!==this.getSetting("visit-control")},t.prototype.getSetting=function(t){return this.headDetails.getMetaValue("turbolinks-"+t)},t}()}.call(this),function(){var t=[].slice;e.Renderer=function(){function e(){}var r;return e.render=function(){var e,r,n,o;return n=arguments[0],r=arguments[1],e=3<=arguments.length?t.call(arguments,2):[],o=function(t,e,r){r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return Object(o)===o?o:n}(this,e,function(){}),o.delegate=n,o.render(r),o},e.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},e.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},e.prototype.createScriptElement=function(t){var e;return"false"===t.getAttribute("data-turbolinks-eval")?t:(e=document.createElement("script"),e.textContent=t.textContent,e.async=!1,r(e,t),e)},r=function(t,e){var r,n,o,i,s,a,u;for(i=e.attributes,a=[],r=0,n=i.length;n>r;r++)s=i[r],o=s.name,u=s.value,a.push(t.setAttribute(o,u));return a},e}()}.call(this),function(){var t,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;e.SnapshotRenderer=function(e){function o(t,e,r){this.currentSnapshot=t,this.newSnapshot=e,this.isPreview=r,this.currentHeadDetails=this.currentSnapshot.headDetails,this.newHeadDetails=this.newSnapshot.headDetails,this.currentBody=this.currentSnapshot.bodyElement,this.newBody=this.newSnapshot.bodyElement}return n(o,e),o.prototype.render=function(t){return this.shouldRender()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.isPreview||e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},o.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},o.prototype.replaceBody=function(){var t;return t=this.relocateCurrentBodyPermanentElements(),this.activateNewBodyScriptElements(),this.assignNewBody(),this.replacePlaceholderElementsWithClonedPermanentElements(t)},o.prototype.shouldRender=function(){return this.newSnapshot.isVisitable()&&this.trackedElementsAreIdentical()},o.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},o.prototype.copyNewHeadStylesheetElements=function(){var t,e,r,n,o;for(n=this.getNewHeadStylesheetElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.copyNewHeadScriptElements=function(){var t,e,r,n,o;for(n=this.getNewHeadScriptElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},o.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getCurrentHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.removeChild(t));return o},o.prototype.copyNewHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getNewHeadProvisionalElements(),o=[],e=0,r=n.length;r>e;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.relocateCurrentBodyPermanentElements=function(){var e,n,o,i,s,a,u;for(a=this.getCurrentBodyPermanentElements(),u=[],e=0,n=a.length;n>e;e++)i=a[e],s=t(i),o=this.newSnapshot.getPermanentElementById(i.id),r(i,s.element),r(o,i),u.push(s);return u},o.prototype.replacePlaceholderElementsWithClonedPermanentElements=function(t){var e,n,o,i,s,a,u;for(u=[],o=0,i=t.length;i>o;o++)a=t[o],n=a.element,s=a.permanentElement,e=s.cloneNode(!0),u.push(r(n,e));return u},o.prototype.activateNewBodyScriptElements=function(){var t,e,n,o,i,s;for(i=this.getNewBodyScriptElements(),s=[],e=0,o=i.length;o>e;e++)n=i[e],t=this.createScriptElement(n),s.push(r(n,t));return s},o.prototype.assignNewBody=function(){return document.body=this.newBody},o.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.newSnapshot.findFirstAutofocusableElement())?t.focus():void 0},o.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},o.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},o.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},o.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},o.prototype.getCurrentBodyPermanentElements=function(){return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot)},o.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll("script")},o}(e.Renderer),t=function(t){var e;return e=document.createElement("meta"),e.setAttribute("name","turbolinks-permanent-placeholder"),e.setAttribute("content",t.id),{element:e,permanentElement:t}},r=function(t,e){var r;return(r=t.parentNode)?r.replaceChild(e,t):void 0}}.call(this),function(){var t=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)&&(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;e.ErrorRenderer=function(e){function r(t){var e;e=document.createElement("html"),e.innerHTML=t,this.newHead=e.querySelector("head"),this.newBody=e.querySelector("body")}return t(r,e),r.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceHeadAndBody(),e.activateBodyScriptElements(),t()}}(this))},r.prototype.replaceHeadAndBody=function(){var t,e;return e=document.head,t=document.body,e.parentNode.replaceChild(this.newHead,e),t.parentNode.replaceChild(this.newBody,t)},r.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getScriptElements(),i=[],e=0,r=n.length;r>e;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},r.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll("script")},r}(e.Renderer)}.call(this),function(){e.View=function(){function t(t){this.delegate=t,this.htmlElement=document.documentElement}return t.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},t.prototype.getElementForAnchor=function(t){return this.getSnapshot().getElementForAnchor(t)},t.prototype.getSnapshot=function(){return e.Snapshot.fromHTMLElement(this.htmlElement)},t.prototype.render=function(t,e){var r,n,o;return o=t.snapshot,r=t.error,n=t.isPreview,this.markAsPreview(n),null!=o?this.renderSnapshot(o,n,e):this.renderError(r,e)},t.prototype.markAsPreview=function(t){return t?this.htmlElement.setAttribute("data-turbolinks-preview",""):this.htmlElement.removeAttribute("data-turbolinks-preview")},t.prototype.renderSnapshot=function(t,r,n){return e.SnapshotRenderer.render(this.delegate,n,this.getSnapshot(),e.Snapshot.wrap(t),r)},t.prototype.renderError=function(t,r){return e.ErrorRenderer.render(this.delegate,r,t)},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ScrollManager=function(){function r(r){this.delegate=r,this.onScroll=t(this.onScroll,this),this.onScroll=e.throttle(this.onScroll)}return r.prototype.start=function(){return this.started?void 0:(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener("scroll",this.onScroll,!1),this.started=!1):void 0},r.prototype.scrollToElement=function(t){return t.scrollIntoView()},r.prototype.scrollToPosition=function(t){var e,r;return e=t.x,r=t.y,window.scrollTo(e,r)},r.prototype.onScroll=function(t){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},r.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},r}()}.call(this),function(){e.SnapshotCache=function(){function t(t){this.size=t,this.keys=[],this.snapshots={}}var r;return t.prototype.has=function(t){var e;return e=r(t),e in this.snapshots},t.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},t.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},t.prototype.read=function(t){var e;return e=r(t),this.snapshots[e]},t.prototype.write=function(t,e){var n;return n=r(t),this.snapshots[n]=e},t.prototype.touch=function(t){var e,n;return n=r(t),e=this.keys.indexOf(n),e>-1&&this.keys.splice(e,1),this.keys.unshift(n),this.trim()},t.prototype.trim=function(){var t,e,r,n,o;for(n=this.keys.splice(this.size),o=[],t=0,r=n.length;r>t;t++)e=n[t],o.push(delete this.snapshots[e]);return o},r=function(t){return e.Location.wrap(t).toCacheKey()},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Visit=function(){function r(r,n,o){this.controller=r,this.action=o,this.performScroll=t(this.performScroll,this),this.identifier=e.uuid(),this.location=e.Location.wrap(n),this.adapter=this.controller.adapter,this.state="initialized",this.timingMetrics={}}var n;return r.prototype.start=function(){return"initialized"===this.state?(this.recordTimingMetric("visitStart"),this.state="started",this.adapter.visitStarted(this)):void 0},r.prototype.cancel=function(){var t;return"started"===this.state?(null!=(t=this.request)&&t.cancel(),this.cancelRender(),this.state="canceled"):void 0},r.prototype.complete=function(){var t;return"started"===this.state?(this.recordTimingMetric("visitEnd"),this.state="completed","function"==typeof(t=this.adapter).visitCompleted&&t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},r.prototype.fail=function(){var t;return"started"===this.state?(this.state="failed","function"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},r.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?"replace":this.action,e=n(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},r.prototype.issueRequest=function(){return this.shouldIssueRequest()&&null==this.request?(this.progress=0,this.request=new e.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},r.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor&&!t.hasAnchor(this.location.anchor)||"restore"!==this.action&&!t.isPreviewable()?void 0:t},r.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},r.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var r;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),"function"==typeof(r=this.adapter).visitRendered&&r.visitRendered(this),t?void 0:this.complete()})):void 0},r.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),"function"==typeof(t=this.adapter).visitRendered&&t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),"function"==typeof(e=this.adapter).visitRendered&&e.visitRendered(this),this.complete())}):void 0},r.prototype.followRedirect=function(){return this.redirectedToLocation&&!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},r.prototype.requestStarted=function(){var t;return this.recordTimingMetric("requestStart"),"function"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},r.prototype.requestProgressed=function(t){var e;return this.progress=t,"function"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},r.prototype.requestCompletedWithResponse=function(t,r){return this.response=t,null!=r&&(this.redirectedToLocation=e.Location.wrap(r)),this.adapter.visitRequestCompleted(this)},r.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},r.prototype.requestFinished=function(){var t;return this.recordTimingMetric("requestEnd"),"function"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},r.prototype.performScroll=function(){return this.scrolled?void 0:("restore"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},r.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},r.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},r.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},r.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},r.prototype.getTimingMetrics=function(){return e.copyObject(this.timingMetrics)},n=function(t){switch(t){case"replace":return"replaceHistoryWithLocationAndRestorationIdentifier";case"advance":case"restore":return"pushHistoryWithLocationAndRestorationIdentifier"}},r.prototype.shouldIssueRequest=function(){return"restore"===this.action?!this.hasCachedSnapshot():!0},r.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},r.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},r.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Controller=function(){function r(){this.clickBubbled=t(this.clickBubbled,this),this.clickCaptured=t(this.clickCaptured,this),this.pageLoaded=t(this.pageLoaded,this),this.history=new e.History(this),this.view=new e.View(this),this.scrollManager=new e.ScrollManager(this),this.restorationData={},this.clearCache(),this.setProgressBarDelay(500)}return r.prototype.start=function(){return e.supported&&!this.started?(addEventListener("click",this.clickCaptured,!0),addEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},r.prototype.disable=function(){return this.enabled=!1},r.prototype.stop=function(){return this.started?(removeEventListener("click",this.clickCaptured,!0),removeEventListener("DOMContentLoaded",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},r.prototype.clearCache=function(){return this.cache=new e.SnapshotCache(10)},r.prototype.visit=function(t,r){var n,o;return null==r&&(r={}),t=e.Location.wrap(t),this.applicationAllowsVisitingLocation(t)?this.locationIsVisitable(t)?(n=null!=(o=r.action)?o:"advance",this.adapter.visitProposedToLocationWithAction(t,n)):window.location=t:void 0},r.prototype.startVisitToLocationWithAction=function(t,r,n){var o;return e.supported?(o=this.getRestorationDataForIdentifier(n),this.startVisit(t,r,{restorationData:o})):window.location=t},r.prototype.setProgressBarDelay=function(t){return this.progressBarDelay=t},r.prototype.startHistory=function(){return this.location=e.Location.wrap(window.location),this.restorationIdentifier=e.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.stopHistory=function(){return this.history.stop()},r.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.push(this.location,this.restorationIdentifier)},r.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.historyPoppedToLocationWithRestorationIdentifier=function(t,r){var n;return this.restorationIdentifier=r,this.enabled?(n=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(t,"restore",{restorationIdentifier:this.restorationIdentifier,restorationData:n,historyChanged:!0}),this.location=e.Location.wrap(t)):this.adapter.pageInvalidated()},r.prototype.getCachedSnapshotForLocation=function(t){var e;return null!=(e=this.cache.get(t))?e.clone():void 0},r.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable(); +},r.prototype.cacheSnapshot=function(){var t,r;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),r=this.view.getSnapshot(),t=this.lastRenderedLocation,e.defer(function(e){return function(){return e.cache.put(t,r.clone())}}(this))):void 0},r.prototype.scrollToAnchor=function(t){var e;return(e=this.view.getElementForAnchor(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},r.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},r.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},r.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},r.prototype.render=function(t,e){return this.view.render(t,e)},r.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},r.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},r.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},r.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},r.prototype.clickCaptured=function(){return removeEventListener("click",this.clickBubbled,!1),addEventListener("click",this.clickBubbled,!1)},r.prototype.clickBubbled=function(t){var e,r,n;return this.enabled&&this.clickEventIsSignificant(t)&&(r=this.getVisitableLinkForNode(t.target))&&(n=this.getVisitableLocationForLink(r))&&this.applicationAllowsFollowingLinkToLocation(r,n)?(t.preventDefault(),e=this.getActionForLink(r),this.visit(n,{action:e})):void 0},r.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var r;return r=this.notifyApplicationAfterClickingLinkToLocation(t,e),!r.defaultPrevented},r.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},r.prototype.notifyApplicationAfterClickingLinkToLocation=function(t,r){return e.dispatch("turbolinks:click",{target:t,data:{url:r.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationBeforeVisitingLocation=function(t){return e.dispatch("turbolinks:before-visit",{data:{url:t.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationAfterVisitingLocation=function(t){return e.dispatch("turbolinks:visit",{data:{url:t.absoluteURL}})},r.prototype.notifyApplicationBeforeCachingSnapshot=function(){return e.dispatch("turbolinks:before-cache")},r.prototype.notifyApplicationBeforeRender=function(t){return e.dispatch("turbolinks:before-render",{data:{newBody:t}})},r.prototype.notifyApplicationAfterRender=function(){return e.dispatch("turbolinks:render")},r.prototype.notifyApplicationAfterPageLoad=function(t){return null==t&&(t={}),e.dispatch("turbolinks:load",{data:{url:this.location.absoluteURL,timing:t}})},r.prototype.startVisit=function(t,e,r){var n;return null!=(n=this.currentVisit)&&n.cancel(),this.currentVisit=this.createVisit(t,e,r),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},r.prototype.createVisit=function(t,r,n){var o,i,s,a,u;return i=null!=n?n:{},a=i.restorationIdentifier,s=i.restorationData,o=i.historyChanged,u=new e.Visit(this,t,r),u.restorationIdentifier=null!=a?a:e.uuid(),u.restorationData=e.copyObject(s),u.historyChanged=o,u.referrer=this.location,u},r.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},r.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which>1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},r.prototype.getVisitableLinkForNode=function(t){return this.nodeIsVisitable(t)?e.closest(t,"a[href]:not([target]):not([download])"):void 0},r.prototype.getVisitableLocationForLink=function(t){var r;return r=new e.Location(t.getAttribute("href")),this.locationIsVisitable(r)?r:void 0},r.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute("data-turbolinks-action"))?e:"advance"},r.prototype.nodeIsVisitable=function(t){var r;return(r=e.closest(t,"[data-turbolinks]"))?"false"!==r.getAttribute("data-turbolinks"):!0},r.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())&&t.isHTML()},r.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},r.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},r}()}.call(this),function(){!function(){var t,e;if((t=e=document.currentScript)&&!e.hasAttribute("data-turbolinks-suppress-warning"))for(;t=t.parentNode;)if(t===document.body)return console.warn("You are loading Turbolinks from a <script> element inside the <body> element. This is probably not what you meant to do!\n\nLoad your application\u2019s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change.\n\nFor more information, see: https://github.com/turbolinks/turbolinks#working-with-script-elements\n\n\u2014\u2014\nSuppress this warning by adding a `data-turbolinks-suppress-warning` attribute to: %s",e.outerHTML)}()}.call(this),function(){var t,r,n;e.start=function(){return r()?(null==e.controller&&(e.controller=t()),e.controller.start()):void 0},r=function(){return null==window.Turbolinks&&(window.Turbolinks=e),n()},t=function(){var t;return t=new e.Controller,t.adapter=new e.BrowserAdapter(t),t},n=function(){return window.Turbolinks===e},n()&&e.start()}.call(this)}).call(this),"object"==typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd&&define(e)}).call(this); +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ + +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + // Support: IE 9-11 only + // Also use offsetWidth/offsetHeight for when box sizing is unreliable + // We use getClientRects() to check for hidden/disconnected. + // In those cases, the computed value can be trusted to be border-box + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.14.5 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Popper = factory()); +}(this, (function () { 'use strict'; + +var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; + +var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; +var timeoutDuration = 0; +for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + timeoutDuration = 1; + break; + } +} + +function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; +} + +function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; +} + +var supportsMicroTasks = isBrowser && window.Promise; + +/** +* Create a debounced version of a method, that's asynchronously deferred +* but called in the minimum time possible. +* +* @method +* @memberof Popper.Utils +* @argument {Function} fn +* @returns {Function} +*/ +var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + +/** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ +function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +} + +/** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ +function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; +} + +/** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ +function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; +} + +/** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ +function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); +} + +var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); +var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); + +/** + * Determines if the browser is Internet Explorer + * @method + * @memberof Popper.Utils + * @param {Number} version to check + * @returns {Boolean} isIE + */ +function isIE(version) { + if (version === 11) { + return isIE11; + } + if (version === 10) { + return isIE10; + } + return isIE11 || isIE10; +} + +/** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ +function getOffsetParent(element) { + if (!element) { + return document.documentElement; + } + + var noOffsetParent = isIE(10) ? document.body : null; + + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent || null; + // Skip hidden elements which don't have an offsetParent + while (offsetParent === noOffsetParent && element.nextElementSibling) { + offsetParent = (element = element.nextElementSibling).offsetParent; + } + + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return element ? element.ownerDocument.documentElement : document.documentElement; + } + + // .offsetParent will return the closest TH, TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; +} + +function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; +} + +/** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ +function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; +} + +/** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ +function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } +} + +/** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ +function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; +} + +/* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ +function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; +} + +/* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + +function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); +} + +function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); +} + +function getWindowSizes(document) { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE(10) && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; +} + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + + + + + +var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +/** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ +function getClientRect(offsets) { + return _extends({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); +} + +/** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ +function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + try { + if (isIE(10)) { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } else { + rect = element.getBoundingClientRect(); + } + } catch (e) {} + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; + var width = sizes.width || element.clientWidth || result.right - result.left; + var height = sizes.height || element.clientHeight || result.bottom - result.top; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); +} + +function getOffsetRectRelativeToArbitraryNode(children, parent) { + var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var isIE10 = isIE(10); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + // In cases where the parent is fixed, we must ignore negative scroll in offset calc + if (fixedPosition && isHTML) { + parentRect.top = Math.max(parentRect.top, 0); + parentRect.left = Math.max(parentRect.left, 0); + } + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; +} + +function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = !excludeScroll ? getScroll(html) : 0; + var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); +} + +/** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ +function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return isFixed(getParentNode(element)); +} + +/** + * Finds the first parent of an element that has a transformed property defined + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} first transformed parent or documentElement + */ + +function getFixedPositionOffsetParent(element) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element || !element.parentElement || isIE()) { + return document.documentElement; + } + var el = element.parentElement; + while (el && getStyleComputedProperty(el, 'transform') === 'none') { + el = el.parentElement; + } + return el || document.documentElement; +} + +/** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @param {Boolean} fixedPosition - Is in fixed position mode + * @returns {Object} Coordinates of the boundaries + */ +function getBoundaries(popper, reference, padding, boundariesElement) { + var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + // NOTE: 1 DOM access here + + var boundaries = { top: 0, left: 0 }; + var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(popper.ownerDocument), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + padding = padding || 0; + var isPaddingNumber = typeof padding === 'number'; + boundaries.left += isPaddingNumber ? padding : padding.left || 0; + boundaries.top += isPaddingNumber ? padding : padding.top || 0; + boundaries.right -= isPaddingNumber ? padding : padding.right || 0; + boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; + + return boundaries; +} + +function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; +} + +/** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); +} + +/** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @param {Element} fixedPosition - is in fixed position mode + * @returns {Object} An object containing the offsets which will be applied to the popper + */ +function getReferenceOffsets(state, popper, reference) { + var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); +} + +/** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ +function getOuterSizes(element) { + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; +} + +/** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ +function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} + +/** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ +function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; +} + +/** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; +} + +/** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); +} + +/** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ +function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; +} + +/** + * Updates the position of the popper, computing the new offsets and applying + * the new style.<br /> + * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ +function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + data.positionFixed = this.options.positionFixed; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + + data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } +} + +/** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ +function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); +} + +/** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ +function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; +} + +/** + * Destroys the popper. + * @method + * @memberof Popper + */ +function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style.left = ''; + this.popper.style.right = ''; + this.popper.style.bottom = ''; + this.popper.style.willChange = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; +} + +/** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ +function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; +} + +function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); +} + +/** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; +} + +/** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ +function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } +} + +/** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; +} + +/** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger `onUpdate` callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ +function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } +} + +/** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ +function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); +} + +/** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); +} + +/** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ +function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; +} + +/** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper + * @param {Object} options - Popper.js options + */ +function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); + + return options; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + // Avoid blurry text by using full pixel integers. + // For pixel-perfect positioning, top/bottom prefers rounded + // values, while left/right prefers floored values. + var offsets = { + left: Math.floor(popper.left), + top: Math.round(popper.top), + bottom: Math.round(popper.bottom), + right: Math.floor(popper.right) + }; + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar) + // and not the bottom of the html element + if (offsetParent.nodeName === 'HTML') { + top = -offsetParent.clientHeight + offsets.bottom; + } else { + top = -offsetParentRect.height + offsets.bottom; + } + } else { + top = offsets.top; + } + if (sideB === 'right') { + if (offsetParent.nodeName === 'HTML') { + left = -offsetParent.clientWidth + offsets.right; + } else { + left = -offsetParentRect.width + offsets.right; + } + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends({}, attributes, data.attributes); + data.styles = _extends({}, styles, data.styles); + data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); + + return data; +} + +/** + * Helper used to know if the given modifier depends from another one.<br /> + * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ +function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjunction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; +} + +/** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ +function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; +} + +/** + * List of accepted placements to use as values of the `placement` option.<br /> + * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.<br /> + * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-end` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ +var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + +// Get rid of `auto` `auto-start` and `auto-end` +var validPlacements = placements.slice(3); + +/** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ +function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; +} + +var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' +}; + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; +} + +/** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ +function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } +} + +/** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ +function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ +function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + // NOTE: DOM access here + // resets the popper's position so that the document size can be calculated excluding + // the size of the popper element itself + var transformProp = getSupportedPropertyName('transform'); + var popperStyles = data.instance.popper.style; // assignment to help minification + var top = popperStyles.top, + left = popperStyles.left, + transform = popperStyles[transformProp]; + + popperStyles.top = ''; + popperStyles.left = ''; + popperStyles[transformProp] = ''; + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); + + // NOTE: DOM access here + // restores the original style properties after the offsets have been computed + popperStyles.top = top; + popperStyles.left = left; + popperStyles[transformProp] = transform; + + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; +} + +/** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.<br /> + * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + +/** + * Modifiers are plugins used to alter the behavior of your poppers.<br /> + * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ +var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.<br /> + * It will read the variation of the `placement` property.<br /> + * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unit-less, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.<br /> + * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the `height`. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.<br /> + * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.<br /> + * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * A scenario exists where the reference itself is not within the boundaries.<br /> + * We can say it has "escaped the boundaries" — or just "escaped".<br /> + * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper. This makes sure the popper always has a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier. Can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near each other + * without leaving any gap between the two. Especially useful when the arrow is + * enabled and you want to ensure that it points to its reference element. + * It cares only about the first axis. You can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjunction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations) + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position. + * The popper will never be placed outside of the defined boundaries + * (except if `keepTogether` is enabled) + */ + boundariesElement: 'viewport' + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define your own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: undefined + } +}; + +/** + * The `dataObject` is an object containing all the information used by Popper.js. + * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + +/** + * Default options provided to Popper.js constructor.<br /> + * These can be overridden using the `options` argument of Popper.js.<br /> + * To override an option, simply pass an object with the same + * structure of the `options` object, as the 3rd argument. For example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ +var Defaults = { + /** + * Popper's placement. + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Set this to true if you want popper to position it self in 'fixed' mode + * @prop {Boolean} positionFixed=false + */ + positionFixed: false, + + /** + * Whether events (resize, scroll) are initially enabled. + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.<br /> + * By default, it is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated. This callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.<br /> + * By default, it is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js. + * @prop {modifiers} + */ + modifiers: modifiers +}; + +/** + * @callback onCreate + * @param {dataObject} data + */ + +/** + * @callback onUpdate + * @param {dataObject} data + */ + +// Utils +// Methods +var Popper = function () { + /** + * Creates a new Popper.js instance. + * @class Popper + * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as the popper + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedules an update. It will run on the next UI update available. + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; +}(); + +/** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.<br /> + * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10. + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + +Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; +Popper.placements = placements; +Popper.Defaults = Defaults; + +return Popper; + +}))); +/*! + * Bootstrap util.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global = global || self, global.Util = factory(global.jQuery)); +}(this, function ($) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + $.fn.emulateTransitionEnd = transitionEndEmulator; + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (err) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $(element).css('transition-duration'); + var transitionDelay = $(element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(TRANSITION_END); + }, + // TODO: Remove in v5 + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + } + }; + setTransitionEndSupport(); + + return Util; + +})); +/*! + * Bootstrap alert.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Alert = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'alert'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; + +})); +/*! + * Bootstrap button.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global = global || self, global.Button = factory(global.jQuery)); +}(this, function ($) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'button'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input:not([type="hidden"])', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event = { + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = this._element.querySelector(Selector.INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(Selector.ACTIVE); + + if (activeElement) { + $(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { + return; + } + + input.checked = !this._element.classList.contains(ClassName.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName.ACTIVE); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + var button = event.target; + + if (!$(button).hasClass(ClassName.BUTTON)) { + button = $(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector.BUTTON)[0]; + $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Button._jQueryInterface; + $.fn[NAME].Constructor = Button; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; + + return Button; + +})); +/*! + * Bootstrap carousel.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Carousel = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'carousel'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHSTART: "touchstart" + EVENT_KEY, + TOUCHMOVE: "touchmove" + EVENT_KEY, + TOUCHEND: "touchend" + EVENT_KEY, + POINTERDOWN: "pointerdown" + EVENT_KEY, + POINTERUP: "pointerup" + EVENT_KEY, + DRAG_START: "dragstart" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item', + POINTER_EVENT: 'pointer-event' + }; + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + ITEM_IMG: '.carousel-item img', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + }; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(Selector.NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY); + $.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + var direction = absDeltax / this.touchDeltaX; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + _this3.touchDeltaX = 0; + } else { + _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; + } + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, function (e) { + return e.preventDefault(); + }); + + if (this._pointerEvent) { + $(this._element).on(Event.POINTERDOWN, function (event) { + return start(event); + }); + $(this._element).on(Event.POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(ClassName.POINTER_EVENT); + } else { + $(this._element).on(Event.TOUCHSTART, function (event) { + return start(event); + }); + $(this._element).on(Event.TOUCHMOVE, function (event) { + return move(event); + }); + $(this._element).on(Event.TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); + + var slideEvent = $.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); + $(indicators).removeClass(ClassName.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ($(this._element).hasClass(ClassName.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); + + if (nextElementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = nextElementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); + $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $(_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $(activeElement).removeClass(ClassName.ACTIVE); + $(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = _objectSpread({}, Default, $(this).data()); + + if (typeof config === 'object') { + _config = _objectSpread({}, _config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = _objectSpread({}, $(target).data(), $(this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event.LOAD_DATA_API, function () { + var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $(carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Carousel._jQueryInterface; + $.fn[NAME].Constructor = Carousel; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; + + return Carousel; + +})); +/*! + * Bootstrap collapse.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Collapse = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'collapse'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + toggle: true, + parent: '' + }; + var DefaultType = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event = { + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(ClassName.COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).not(this._selector).data(DATA_KEY); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event.SHOWN); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var startEvent = $.Event(Event.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(ClassName.SHOW)) { + $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $(children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $(element).hasClass(ClassName.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + // preventDefault only for <a> elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $(selectors).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Collapse._jQueryInterface; + $.fn[NAME].Constructor = Collapse; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; + + return Collapse; + +})); +/*! + * Bootstrap dropdown.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : + (global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util)); +}(this, function ($, Popper, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'dropdown'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, + KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left', + POSITION_STATIC: 'position-static' + }; + var Selector = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' + }; + var Default = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic' + }; + var DefaultType = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this._element); + + var isActive = $(this._menu).hasClass(ClassName.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Disable totally Popper.js for Dropdown in Navbar + + + if (!this._inNavbar) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); + } + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $(parent).addClass(ClassName.POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) { + $(document.body).children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.show = function show() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.hide = function hide() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $.Event(Event.HIDE, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._element).off(EVENT_KEY); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(Selector.MENU); + } + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element.parentNode); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } // Disable Popper.js if we have a static display + + }; + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return popperConfig; + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + $(dropdownMenu).removeClass(ClassName.SHOW); + $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName.SHOW); + + if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = parent.querySelector(Selector.DATA_TOGGLE); + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Dropdown._jQueryInterface; + $.fn[NAME].Constructor = Dropdown; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; + + return Dropdown; + +})); +/*! + * Bootstrap modal.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Modal = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'modal'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + RESIZE: "resize" + EVENT_KEY, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SCROLLABLE: 'modal-dialog-scrollable', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DIALOG: '.modal-dialog', + MODAL_BODY: '.modal-body', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(Selector.DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; + } + + if ($(this._element).hasClass(ClassName.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $.Event(Event.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $(this._element).hasClass(ClassName.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event.FOCUSIN); + $(this._element).removeClass(ClassName.SHOW); + $(this._element).off(Event.CLICK_DISMISS); + $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $(htmlElement).off(EVENT_KEY); + }); + /** + * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `Event.CLICK_DATA_API` event that should remain + */ + + $(document).off(Event.FOCUSIN); + $.removeData(this._element, DATA_KEY); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this3 = this; + + var transition = $(this._element).hasClass(ClassName.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) { + this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this3._config.focus) { + _this3._element.focus(); + } + + _this3._isTransitioning = false; + $(_this3._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this4 = this; + + $(document).off(Event.FOCUSIN) // Guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) { + _this4._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this5 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE) { + event.preventDefault(); + + _this5.hide(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this6 = this; + + if (this._isShown) { + $(window).on(Event.RESIZE, function (event) { + return _this6.handleUpdate(event); + }); + } else { + $(window).off(Event.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this7 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName.OPEN); + + _this7._resetAdjustments(); + + _this7._resetScrollbar(); + + $(_this7._element).trigger(Event.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this8 = this; + + var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this8._ignoreBackdropClick) { + _this8._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this8._config.backdrop === 'static') { + _this8._element.focus(); + } else { + _this8.hide(); + } + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName.SHOW); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName.SHOW); + + var callbackRemove = function callbackRemove() { + _this8._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($(this._element).hasClass(ClassName.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this9 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding + + $(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $(document.body).css('padding-right'); + $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $(document.body).addClass(ClassName.OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + $(fixedContent).each(function (index, element) { + var padding = $(element).data('padding-right'); + $(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); + $(elements).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $(document.body).data('padding-right'); + $(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = _objectSpread({}, Default, $(this).data(), typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this10 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); + } + + var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event.HIDDEN, function () { + if ($(_this10).is(':visible')) { + _this10.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Modal._jQueryInterface; + $.fn[NAME].Constructor = Modal; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; + + return Modal; + +})); +/*! + * Bootstrap tooltip.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : + (global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util)); +}(this, function ($, Popper, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.3.1): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + }; + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i, len); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tooltip'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.tooltip'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var DefaultType = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object' + }; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default = { + animation: true, + template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal'); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector.ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this._handlePopperPlacementChange(data); + } + }); + $(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if ($(this.tip).hasClass(ClassName.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if ($(this.tip).hasClass(ClassName.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle()); + $(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getOffset = function _getOffset() { + var _this3 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (Util.isElement(this.config.container)) { + return $(this.config.container); + } + + return $(document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this4 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) { + return _this4.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT; + $(_this4.element).on(eventIn, _this4.config.selector, function (event) { + return _this4._enter(event); + }).on(eventOut, _this4.config.selector, function (event) { + return _this4._leave(event); + }); + } + }); + $(this.element).closest('.modal').on('hide.bs.modal', function () { + if (_this4.element) { + _this4.hide(); + } + }); + + if (this.config.selector) { + this.config = _objectSpread({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $(this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + var popperInstance = popperData.instance; + this.tip = popperInstance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Tooltip._jQueryInterface; + $.fn[NAME].Constructor = Tooltip; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tooltip._jQueryInterface; + }; + + return Tooltip; + +})); +/*! + * Bootstrap popover.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) : + (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip)); +}(this, function ($, Tooltip) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'popover'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.popover'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + + var Default = _objectSpread({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' + }); + + var DefaultType = _objectSpread({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(Selector.CONTENT), content); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Popover._jQueryInterface; + $.fn[NAME].Constructor = Popover; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; + + return Popover; + +})); +/*! + * Bootstrap scrollspy.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'scrollspy'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event = { + ACTIVATE: "activate" + EVENT_KEY, + SCROLL: "scroll" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._scrollElement).off(EVENT_KEY); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + var offsetLength = this._offsets.length; + + for (var i = offsetLength; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; + }); + + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { + $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + $link.addClass(ClassName.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active + // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE); + } + + $(this._scrollElement).trigger(Event.ACTIVATE, { + relatedTarget: target + }); + }; + + _proto._clear = function _clear() { + [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) { + return node.classList.contains(ClassName.ACTIVE); + }).forEach(function (node) { + return node.classList.remove(ClassName.ACTIVE); + }); + } // Static + ; + + ScrollSpy._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new ScrollSpy(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(ScrollSpy, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return ScrollSpy; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(window).on(Event.LOAD_DATA_API, function () { + var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY)); + var scrollSpysLength = scrollSpys.length; + + for (var i = scrollSpysLength; i--;) { + var $spy = $(scrollSpys[i]); + + ScrollSpy._jQueryInterface.call($spy, $spy.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = ScrollSpy._jQueryInterface; + $.fn[NAME].Constructor = ScrollSpy; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return ScrollSpy._jQueryInterface; + }; + + return ScrollSpy; + +})); +/*! + * Bootstrap tab.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Tab = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tab'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.tab'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active', + DISABLED: 'disabled', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DROPDOWN: '.dropdown', + NAV_LIST_GROUP: '.nav, .list-group', + ACTIVE: '.active', + ACTIVE_UL: '> li > .active', + DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', + DROPDOWN_TOGGLE: '.dropdown-toggle', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tab = + /*#__PURE__*/ + function () { + function Tab(element) { + this._element = element; + } // Getters + + + var _proto = Tab.prototype; + + // Public + _proto.show = function show() { + var _this = this; + + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var target; + var previous; + var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; + var selector = Util.getSelectorFromElement(this._element); + + if (listElement) { + var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); + previous = previous[previous.length - 1]; + } + + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); + + if (previous) { + $(previous).trigger(hideEvent); + } + + $(this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } + + if (selector) { + target = document.querySelector(selector); + } + + this._activate(this._element, listElement); + + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this._element + }); + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + $(previous).trigger(hiddenEvent); + $(_this._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._activate = function _activate(element, container, callback) { + var _this2 = this; + + var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE); + var active = activeElements[0]; + var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE); + + var complete = function complete() { + return _this2._transitionComplete(element, active, callback); + }; + + if (active && isTransitioning) { + var transitionDuration = Util.getTransitionDurationFromElement(active); + $(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; + + _proto._transitionComplete = function _transitionComplete(element, active, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); + } + + if (active.getAttribute('role') === 'tab') { + active.setAttribute('aria-selected', false); + } + } + + $(element).addClass(ClassName.ACTIVE); + + if (element.getAttribute('role') === 'tab') { + element.setAttribute('aria-selected', true); + } + + Util.reflow(element); + + if (element.classList.contains(ClassName.FADE)) { + element.classList.add(ClassName.SHOW); + } + + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; + + if (dropdownElement) { + var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE)); + $(dropdownToggleList).addClass(ClassName.ACTIVE); + } + + element.setAttribute('aria-expanded', true); + } + + if (callback) { + callback(); + } + } // Static + ; + + Tab._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + if (!data) { + data = new Tab(this); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tab, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Tab; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + + Tab._jQueryInterface.call($(this), 'show'); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Tab._jQueryInterface; + $.fn[NAME].Constructor = Tab; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tab._jQueryInterface; + }; + + return Tab; + +})); +/*! + * Bootstrap toast.js v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : + typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : + (global = global || self, global.Toast = factory(global.jQuery, global.Util)); +}(this, function ($, Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'toast'; + var VERSION = '4.3.1'; + var DATA_KEY = 'bs.toast'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Event = { + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + HIDE: 'hide', + SHOW: 'show', + SHOWING: 'showing' + }; + var DefaultType = { + animation: 'boolean', + autohide: 'boolean', + delay: 'number' + }; + var Default = { + animation: true, + autohide: true, + delay: 500 + }; + var Selector = { + DATA_DISMISS: '[data-dismiss="toast"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Toast = + /*#__PURE__*/ + function () { + function Toast(element, config) { + this._element = element; + this._config = this._getConfig(config); + this._timeout = null; + + this._setListeners(); + } // Getters + + + var _proto = Toast.prototype; + + // Public + _proto.show = function show() { + var _this = this; + + $(this._element).trigger(Event.SHOW); + + if (this._config.animation) { + this._element.classList.add(ClassName.FADE); + } + + var complete = function complete() { + _this._element.classList.remove(ClassName.SHOWING); + + _this._element.classList.add(ClassName.SHOW); + + $(_this._element).trigger(Event.SHOWN); + + if (_this._config.autohide) { + _this.hide(); + } + }; + + this._element.classList.remove(ClassName.HIDE); + + this._element.classList.add(ClassName.SHOWING); + + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + }; + + _proto.hide = function hide(withoutTimeout) { + var _this2 = this; + + if (!this._element.classList.contains(ClassName.SHOW)) { + return; + } + + $(this._element).trigger(Event.HIDE); + + if (withoutTimeout) { + this._close(); + } else { + this._timeout = setTimeout(function () { + _this2._close(); + }, this._config.delay); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + this._timeout = null; + + if (this._element.classList.contains(ClassName.SHOW)) { + this._element.classList.remove(ClassName.SHOW); + } + + $(this._element).off(Event.CLICK_DISMISS); + $.removeData(this._element, DATA_KEY); + this._element = null; + this._config = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, $(this._element).data(), typeof config === 'object' && config ? config : {}); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._setListeners = function _setListeners() { + var _this3 = this; + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { + return _this3.hide(true); + }); + }; + + _proto._close = function _close() { + var _this4 = this; + + var complete = function complete() { + _this4._element.classList.add(ClassName.HIDE); + + $(_this4._element).trigger(Event.HIDDEN); + }; + + this._element.classList.remove(ClassName.SHOW); + + if (this._config.animation) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } // Static + ; + + Toast._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new Toast(this, _config); + $element.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](this); + } + }); + }; + + _createClass(Toast, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Toast; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Toast._jQueryInterface; + $.fn[NAME].Constructor = Toast; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Toast._jQueryInterface; + }; + + return Toast; + +})); + + + + + + + + + + + + +/*! jQuery Validation Plugin - v1.19.1 - 6/15/2019 + * https://jqueryvalidation.org/ + * Copyright (c) 2019 Jörn Zaefferer; Licensed MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("abaRoutingNumber",function(a){var b=0,c=a.split(""),d=c.length;if(9!==d)return!1;for(var e=0;e<d;e+=3)b+=3*parseInt(c[e],10)+7*parseInt(c[e+1],10)+parseInt(c[e+2],10);return 0!==b&&b%10===0},"Please enter a valid routing number."),a.validator.addMethod("accept",function(b,c,d){var e,f,g,h="string"==typeof d?d.replace(/\s/g,""):"image/*",i=this.optional(c);if(i)return i;if("file"===a(c).attr("type")&&(h=h.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g,"\\$&").replace(/,/g,"|").replace(/\/\*/g,"/.*"),c.files&&c.files.length))for(g=new RegExp(".?("+h+")$","i"),e=0;e<c.files.length;e++)if(f=c.files[e],!f.type.match(g))return!1;return!0},a.validator.format("Please enter a value with a valid mimetype.")),a.validator.addMethod("alphanumeric",function(a,b){return this.optional(b)||/^\w+$/i.test(a)},"Letters, numbers, and underscores only please"),a.validator.addMethod("bankaccountNL",function(a,b){if(this.optional(b))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(a))return!1;var c,d,e,f=a.replace(/ /g,""),g=0,h=f.length;for(c=0;c<h;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-9])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a.toUpperCase())},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a,b){"use strict";function c(a){return a%2===0}if(this.optional(b))return!0;var d,e,f,g,h=new RegExp(/^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/gi),i=a.substring(0,1),j=a.substring(1,8),k=a.substring(8,9),l=0,m=0,n=0;if(9!==a.length||!h.test(a))return!1;for(d=0;d<j.length;d++)e=parseInt(j[d],10),c(d)?(e*=2,n+=e<10?e:e-9):m+=e;return l=m+n,f=(10-l.toString().substr(-1)).toString(),f=parseInt(f,10)>9?"0":f,g="JABCDEFGHI".substr(f,1).toString(),i.match(/[ABEH]/)?k===f:i.match(/[KPQS]/)?k===g:k===f||k===g},"Please specify a valid CIF number."),a.validator.addMethod("cnhBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f,g,h=0,i=0;if(b=a.charAt(0),new Array(12).join(b)===a)return!1;for(e=0,f=9,g=0;e<9;++e,--f)h+=+(a.charAt(e)*f);for(c=h%11,c>=10&&(c=0,i=2),h=0,e=0,f=1,g=0;e<9;++e,++f)h+=+(a.charAt(e)*f);return d=h%11,d>=10?d=0:d-=i,String(c).concat(d)===a.substr(-2)},"Please specify a valid CNH number"),a.validator.addMethod("cnpjBR",function(a,b){"use strict";if(this.optional(b))return!0;if(a=a.replace(/[^\d]+/g,""),14!==a.length)return!1;if("00000000000000"===a||"11111111111111"===a||"22222222222222"===a||"33333333333333"===a||"44444444444444"===a||"55555555555555"===a||"66666666666666"===a||"77777777777777"===a||"88888888888888"===a||"99999999999999"===a)return!1;for(var c=a.length-2,d=a.substring(0,c),e=a.substring(c),f=0,g=c-7,h=c;h>=1;h--)f+=d.charAt(c-h)*g--,g<2&&(g=9);var i=f%11<2?0:11-f%11;if(i!==parseInt(e.charAt(0),10))return!1;c+=1,d=a.substring(0,c),f=0,g=c-7;for(var j=c;j>=1;j--)f+=d.charAt(c-j)*g--,g<2&&(g=9);return i=f%11<2?0:11-f%11,i===parseInt(e.charAt(1),10)},"Please specify a CNPJ value number"),a.validator.addMethod("cpfBR",function(a,b){"use strict";if(this.optional(b))return!0;if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var c,d,e,f,g=0;if(c=parseInt(a.substring(9,10),10),d=parseInt(a.substring(10,11),10),e=function(a,b){var c=10*a%11;return 10!==c&&11!==c||(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(f=1;f<=9;f++)g+=parseInt(a.substring(f-1,f),10)*(11-f);if(e(g,c)){for(g=0,f=1;f<=10;f++)g+=parseInt(a.substring(f-1,f),10)*(12-f);return e(g,d)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcard",function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},"Please enter a valid credit card number."),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&(/^(5[12345])/.test(a)||/^(2[234567])/.test(a))?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:!!(128&d)},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=!!e||c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("greaterThan",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-greaterThan-blur").length&&e.addClass("validate-greaterThan-blur").on("blur.validate-greaterThan",function(){a(c).valid()}),b>e.val()},"Please enter a greater value."),a.validator.addMethod("greaterThanEqual",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-greaterThanEqual-blur").length&&e.addClass("validate-greaterThanEqual-blur").on("blur.validate-greaterThanEqual",function(){a(c).valid()}),b>=e.val()},"Please enter a greater value."),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="",q=5;if(l.length<q)return!1;if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j<d.length;j++)e=d.charAt(j),"0"!==e&&(n=!1),n||(m+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(e));for(k=0;k<m.length;k++)f=m.charAt(k),p=""+o+f,o=p%97;return 1===o},"Please specify a valid IBAN"),a.validator.addMethod("integer",function(a,b){return this.optional(b)||/^-?\d+$/.test(a)},"A positive or negative non-decimal number please"),a.validator.addMethod("ipv4",function(a,b){return this.optional(b)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(a)},"Please enter a valid IP v4 address."),a.validator.addMethod("ipv6",function(a,b){return this.optional(b)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(a)},"Please enter a valid IP v6 address."),a.validator.addMethod("lessThan",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-lessThan-blur").length&&e.addClass("validate-lessThan-blur").on("blur.validate-lessThan",function(){a(c).valid()}),b<e.val()},"Please enter a lesser value."),a.validator.addMethod("lessThanEqual",function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-lessThanEqual-blur").length&&e.addClass("validate-lessThanEqual-blur").on("blur.validate-lessThanEqual",function(){a(c).valid()}),b<=e.val()},"Please enter a lesser value."),a.validator.addMethod("lettersonly",function(a,b){return this.optional(b)||/^[a-z]+$/i.test(a)},"Letters only please"),a.validator.addMethod("letterswithbasicpunc",function(a,b){return this.optional(b)||/^[a-z\-.,()'"\s]+$/i.test(a)},"Letters or punctuation only please"),a.validator.addMethod("maxfiles",function(b,c,d){return!!this.optional(c)||!("file"===a(c).attr("type")&&c.files&&c.files.length>d)},a.validator.format("Please select no more than {0} files.")),a.validator.addMethod("maxsize",function(b,c,d){if(this.optional(c))return!0;if("file"===a(c).attr("type")&&c.files&&c.files.length)for(var e=0;e<c.files.length;e++)if(c.files[e].size>d)return!1;return!0},a.validator.format("File size must not exceed {0} bytes each.")),a.validator.addMethod("maxsizetotal",function(b,c,d){if(this.optional(c))return!0;if("file"===a(c).attr("type")&&c.files&&c.files.length)for(var e=0,f=0;f<c.files.length;f++)if(e+=c.files[f].size,e>d)return!1;return!0},a.validator.format("Total size of all files must not exceed {0} bytes.")),a.validator.addMethod("mobileNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid mobile number"),a.validator.addMethod("mobileRU",function(a,b){var c=a.replace(/\(|\)|\s+|-/g,"");return this.optional(b)||c.length>9&&/^((\+7|7|8)+([0-9]){10})$/.test(c)},"Please specify a valid mobile number"),a.validator.addMethod("mobileUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("netmask",function(a,b){return this.optional(b)||/^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)/i.test(a)},"Please enter a valid netmask."),a.validator.addMethod("nieES",function(a,b){"use strict";if(this.optional(b))return!0;var c,d=new RegExp(/^[MXYZ]{1}[0-9]{7,8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/gi),e="TRWAGMYFPDXBNJZSQVHLCKET",f=a.substr(a.length-1).toUpperCase();return a=a.toString().toUpperCase(),!(a.length>10||a.length<9||!d.test(a))&&(a=a.replace(/^[X]/,"0").replace(/^[Y]/,"1").replace(/^[Z]/,"2"),c=9===a.length?a.substr(0,8):a.substr(0,9),e.charAt(parseInt(c,10)%23)===f)},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a,b){"use strict";return!!this.optional(b)||(a=a.toUpperCase(),!!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")&&(/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):!!/^[KLM]{1}/.test(a)&&a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,1)%23)))},"Please specify a valid NIF number."),a.validator.addMethod("nipPL",function(a){"use strict";if(a=a.replace(/[^0-9]/g,""),10!==a.length)return!1;for(var b=[6,5,7,2,3,4,5,6,7],c=0,d=0;d<9;d++)c+=b[d]*a[d];var e=c%11,f=10===e?0:e;return f===parseInt(a[9],10)},"Please specify a valid NIP number."),a.validator.addMethod("nisBR",function(a){var b,c,d,e,f,g=0;if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;for(c=parseInt(a.substring(10,11),10),b=parseInt(a.substring(0,10),10),e=2;e<12;e++)f=e,10===e&&(f=2),11===e&&(f=3),g+=b%10*f,b=parseInt(b/10,10);return d=g%11,d=d>1?11-d:0,c===d},"Please specify a valid NIS/PIS number"),a.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return!!this.optional(b)||("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phonePL",function(a,b){a=a.replace(/\s+/g,"");var c=/^(?:(?:(?:\+|00)?48)|(?:\(\+?48\)))?(?:1[2-8]|2[2-69]|3[2-49]|4[1-68]|5[0-9]|6[0-35-9]|[7-8][1-9]|9[145])\d{7}$/;return this.optional(b)||c.test(a)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=!e&&"undefined"!=typeof c.caseSensitive&&c.caseSensitive,g=!e&&"undefined"!=typeof c.includeTerritories&&c.includeTerritories,h=!e&&"undefined"!=typeof c.includeMilitary&&c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;b<17;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c<h.length;c++)if(d.toUpperCase()===h[c]){d=i[c],d*=e,isNaN(g)&&8===c&&(g=h[c]);break}}else d*=e;k+=d}return f=k%11,10===f&&(f="X"),f===g},"The specified vehicle identification number (VIN) is invalid."),a.validator.addMethod("zipcodeUS",function(a,b){return this.optional(b)||/^\d{5}(-\d{4})?$/.test(a)},"The specified US ZIP Code is invalid"),a.validator.addMethod("ziprange",function(a,b){return this.optional(b)||/^90[2-5]\d\{2\}-\d{4}$/.test(a)},"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"),a}); +/*! jQuery Validation Plugin - v1.19.1 - 6/15/2019 + * https://jqueryvalidation.org/ + * Copyright (c) 2019 Jörn Zaefferer; Licensed MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr.pseudos||a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a}); +/* +* Project: Bootstrap Notify = v3.1.3 +* Description: Turns standard Bootstrap alerts into "Growl-like" notifications. +* Author: Mouse0270 aka Robert McIntosh +* License: MIT License +* Website: https://github.com/mouse0270/bootstrap-growl +*/ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + // Create the defaults once + var defaults = { + element: 'body', + position: null, + type: "info", + allow_dismiss: true, + newest_on_top: false, + showProgressbar: false, + placement: { + from: "top", + align: "right" + }, + offset: 20, + spacing: 10, + z_index: 1031, + delay: 1000, + timer: 1000, + url_target: '_blank', + mouse_over: null, + animate: { + enter: 'animated fadeInDown', + exit: 'animated fadeOutUp' + }, + onShow: null, + onShown: null, + onClose: null, + onClosed: null, + icon_type: 'class', + template: '<div data-notify="container" class="col-xs-4 col-sm-2 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' + }; + + String.format = function() { + var str = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + str = str.replace(RegExp("\\{" + (i - 1) + "\\}", "gm"), arguments[i]); + } + return str; + }; + + function Notify ( element, content, options ) { + // Setup Content of Notify + var content = { + content: { + message: typeof content == 'object' ? content.message : content, + title: content.title ? content.title : '', + icon: content.icon ? content.icon : '', + url: content.url ? content.url : '#', + target: content.target ? content.target : '-' + } + }; + + options = $.extend(true, {}, content, options); + this.settings = $.extend(true, {}, defaults, options); + this._defaults = defaults; + if (this.settings.content.target == "-") { + this.settings.content.target = this.settings.url_target; + } + this.animations = { + start: 'webkitAnimationStart oanimationstart MSAnimationStart animationstart', + end: 'webkitAnimationEnd oanimationend MSAnimationEnd animationend' + } + + if (typeof this.settings.offset == 'number') { + this.settings.offset = { + x: this.settings.offset, + y: this.settings.offset + }; + } + + this.init(); + }; + + $.extend(Notify.prototype, { + init: function () { + var self = this; + + this.buildNotify(); + if (this.settings.content.icon) { + this.setIcon(); + } + if (this.settings.content.url != "#") { + this.styleURL(); + } + this.placement(); + this.bind(); + + this.notify = { + $ele: this.$ele, + update: function(command, update) { + var commands = {}; + if (typeof command == "string") { + commands[command] = update; + }else{ + commands = command; + } + for (var command in commands) { + switch (command) { + case "type": + this.$ele.removeClass('alert-' + self.settings.type); + this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass('progress-bar-' + self.settings.type); + self.settings.type = commands[command]; + this.$ele.addClass('alert-' + commands[command]).find('[data-notify="progressbar"] > .progress-bar').addClass('progress-bar-' + commands[command]); + break; + case "icon": + var $icon = this.$ele.find('[data-notify="icon"]'); + if (self.settings.icon_type.toLowerCase() == 'class') { + $icon.removeClass(self.settings.content.icon).addClass(commands[command]); + }else{ + if (!$icon.is('img')) { + $icon.find('img'); + } + $icon.attr('src', commands[command]); + } + break; + case "progress": + var newDelay = self.settings.delay - (self.settings.delay * (commands[command] / 100)); + this.$ele.data('notify-delay', newDelay); + this.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', commands[command]).css('width', commands[command] + '%'); + break; + case "url": + this.$ele.find('[data-notify="url"]').attr('href', commands[command]); + break; + case "target": + this.$ele.find('[data-notify="url"]').attr('target', commands[command]); + break; + default: + this.$ele.find('[data-notify="' + command +'"]').html(commands[command]); + }; + } + var posX = this.$ele.outerHeight() + parseInt(self.settings.spacing) + parseInt(self.settings.offset.y); + self.reposition(posX); + }, + close: function() { + self.close(); + } + }; + }, + buildNotify: function () { + var content = this.settings.content; + this.$ele = $(String.format(this.settings.template, this.settings.type, content.title, content.message, content.url, content.target)); + this.$ele.attr('data-notify-position', this.settings.placement.from + '-' + this.settings.placement.align); + if (!this.settings.allow_dismiss) { + this.$ele.find('[data-notify="dismiss"]').css('display', 'none'); + } + if ((this.settings.delay <= 0 && !this.settings.showProgressbar) || !this.settings.showProgressbar) { + this.$ele.find('[data-notify="progressbar"]').remove(); + } + }, + setIcon: function() { + if (this.settings.icon_type.toLowerCase() == 'class') { + this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon); + }else{ + if (this.$ele.find('[data-notify="icon"]').is('img')) { + this.$ele.find('[data-notify="icon"]').attr('src', this.settings.content.icon); + }else{ + this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />'); + } + } + }, + styleURL: function() { + this.$ele.find('[data-notify="url"]').css({ + backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)', + height: '100%', + left: '0px', + position: 'absolute', + top: '0px', + width: '100%', + zIndex: this.settings.z_index + 1 + }); + this.$ele.find('[data-notify="dismiss"]').css({ + position: 'absolute', + right: '10px', + top: '5px', + zIndex: this.settings.z_index + 2 + }); + }, + placement: function() { + var self = this, + offsetAmt = this.settings.offset.y, + css = { + display: 'inline-block', + margin: '0px auto', + position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'), + transition: 'all .5s ease-in-out', + zIndex: this.settings.z_index + }, + hasAnimation = false, + settings = this.settings; + + $('[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])').each(function() { + return offsetAmt = Math.max(offsetAmt, parseInt($(this).css(settings.placement.from)) + parseInt($(this).outerHeight()) + parseInt(settings.spacing)); + }); + if (this.settings.newest_on_top == true) { + offsetAmt = this.settings.offset.y; + } + css[this.settings.placement.from] = offsetAmt+'px'; + + switch (this.settings.placement.align) { + case "left": + case "right": + css[this.settings.placement.align] = this.settings.offset.x+'px'; + break; + case "center": + css.left = 0; + css.right = 0; + break; + } + this.$ele.css(css).addClass(this.settings.animate.enter); + $.each(Array('webkit', 'moz', 'o', 'ms', ''), function(index, prefix) { + self.$ele[0].style[prefix+'AnimationIterationCount'] = 1; + }); + + $(this.settings.element).append(this.$ele); + + if (this.settings.newest_on_top == true) { + offsetAmt = (parseInt(offsetAmt)+parseInt(this.settings.spacing)) + this.$ele.outerHeight(); + this.reposition(offsetAmt); + } + + if ($.isFunction(self.settings.onShow)) { + self.settings.onShow.call(this.$ele); + } + + this.$ele.one(this.animations.start, function(event) { + hasAnimation = true; + }).one(this.animations.end, function(event) { + if ($.isFunction(self.settings.onShown)) { + self.settings.onShown.call(this); + } + }); + + setTimeout(function() { + if (!hasAnimation) { + if ($.isFunction(self.settings.onShown)) { + self.settings.onShown.call(this); + } + } + }, 600); + }, + bind: function() { + var self = this; + + this.$ele.find('[data-notify="dismiss"]').on('click', function() { + self.close(); + }) + + this.$ele.mouseover(function(e) { + $(this).data('data-hover', "true"); + }).mouseout(function(e) { + $(this).data('data-hover', "false"); + }); + this.$ele.data('data-hover', "false"); + + if (this.settings.delay > 0) { + self.$ele.data('notify-delay', self.settings.delay); + var timer = setInterval(function() { + var delay = parseInt(self.$ele.data('notify-delay')) - self.settings.timer; + if ((self.$ele.data('data-hover') === 'false' && self.settings.mouse_over == "pause") || self.settings.mouse_over != "pause") { + var percent = ((self.settings.delay - delay) / self.settings.delay) * 100; + self.$ele.data('notify-delay', delay); + self.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', percent).css('width', percent + '%'); + } + if (delay <= -(self.settings.timer)) { + clearInterval(timer); + self.close(); + } + }, self.settings.timer); + } + }, + close: function() { + var self = this, + $successors = null, + posX = parseInt(this.$ele.css(this.settings.placement.from)), + hasAnimation = false; + + this.$ele.data('closing', 'true').addClass(this.settings.animate.exit); + self.reposition(posX); + + if ($.isFunction(self.settings.onClose)) { + self.settings.onClose.call(this.$ele); + } + + this.$ele.one(this.animations.start, function(event) { + hasAnimation = true; + }).one(this.animations.end, function(event) { + $(this).remove(); + if ($.isFunction(self.settings.onClosed)) { + self.settings.onClosed.call(this); + } + }); + + setTimeout(function() { + if (!hasAnimation) { + self.$ele.remove(); + if (self.settings.onClosed) { + self.settings.onClosed(self.$ele); + } + } + }, 600); + }, + reposition: function(posX) { + var self = this, + notifies = '[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])', + $elements = this.$ele.nextAll(notifies); + if (this.settings.newest_on_top == true) { + $elements = this.$ele.prevAll(notifies); + } + $elements.each(function() { + $(this).css(self.settings.placement.from, posX); + posX = (parseInt(posX)+parseInt(self.settings.spacing)) + $(this).outerHeight(); + }); + } + }); + + $.notify = function ( content, options ) { + var plugin = new Notify( this, content, options ); + return plugin.notify; + }; + $.notifyDefaults = function( options ) { + defaults = $.extend(true, {}, defaults, options); + return defaults; + }; + $.notifyClose = function( command ) { + if (typeof command === "undefined" || command == "all") { + $('[data-notify]').find('[data-notify="dismiss"]').trigger('click'); + }else{ + $('[data-notify-position="'+command+'"]').find('[data-notify="dismiss"]').trigger('click'); + } + }; + +})); +/*! jquery.cookie v1.4.1 | MIT */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); +/*! + * Select2 4.0.8 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ + +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="tree"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="treeitem" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + var matches = window.Element.prototype.matches || + window.Element.prototype.msMatchesSelector || + window.Element.prototype.webkitMatchesSelector; + + if ((data.element != null && matches.call(data.element, ':disabled')) || + (data.element == null && data.disabled)) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + self.$selection.trigger('focus'); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.trigger('focus'); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.attr('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.attr('title', selection.title || selection.text); + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '<span class="select2-selection__clear" title="' + removeAll() +'">' + + '×' + + '</span>' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + this.$search.trigger('focus'); + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.trigger('focus'); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.trigger('focus'); + + window.setTimeout(function () { + self.$search.trigger('focus'); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.trigger('blur'); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.trigger('focus'); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + this.loadMoreIfNeeded(); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)); + }; + + InfiniteScroll.prototype.loadMoreIfNeeded = function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + this.$loadingMore[0] + ); + + if (this.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = this.$results.offset().top + + this.$results.outerHeight(false); + var loadingMoreOffset = this.$loadingMore.offset().top + + this.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + this.loadMore(); + } + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="treeitem" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + if (method == 'computedstyle') { + var computedStyle = window.getComputedStyle($element[0]); + + return computedStyle.width; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.RemoveData(this.$element[0]); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('jquery-mousewheel',[ + 'jquery' +], function ($) { + // Used to shim jQuery.mousewheel for non-full builds. + return $; +}); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); +/*! + * jQuery cxSelect + * @name jquery.cxselect.js + * @version 1.4.1 + * @date 2016-11-02 + * @author ciaoca + * @email ciaoca@gmail.com + * @site https://github.com/ciaoca/cxSelect + * @license Released under the MIT license + */ + +(function(factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else { + factory(window.jQuery || window.Zepto || window.$); + }; +}(function($) { + var cxSelect = function() { + var self = this; + var dom, settings, callback; + + // 分配参数 + for (var i = 0, l = arguments.length; i < l; i++) { + if (cxSelect.isJquery(arguments[i]) || cxSelect.isZepto(arguments[i])) { + dom = arguments[i]; + } else if (cxSelect.isElement(arguments[i])) { + dom = $(arguments[i]); + } else if (typeof arguments[i] === 'function') { + callback = arguments[i]; + } else if (typeof arguments[i] === 'object') { + settings = arguments[i]; + }; + }; + + var api = new cxSelect.init(dom, settings); + + if (typeof callback === 'function') { + callback(api); + }; + + return api; + }; + + cxSelect.isElement = function(o){ + if (o && (typeof HTMLElement === 'function' || typeof HTMLElement === 'object') && o instanceof HTMLElement) { + return true; + } else { + return (o && o.nodeType && o.nodeType === 1) ? true : false; + }; + }; + + cxSelect.isJquery = function(o){ + return (o && o.length && (typeof jQuery === 'function' || typeof jQuery === 'object') && o instanceof jQuery) ? true : false; + }; + + cxSelect.isZepto = function(o){ + return (o && o.length && (typeof Zepto === 'function' || typeof Zepto === 'object') && Zepto.zepto.isZ(o)) ? true : false; + }; + + cxSelect.getIndex = function(n, required) { + return required ? n : n - 1; + }; + + cxSelect.getData = function(data, space) { + if (typeof space === 'string' && space.length) { + space = space.split('.'); + for (var i = 0, l = space.length; i < l; i++) { + data = data[space[i]]; + }; + }; + return data; + }; + + cxSelect.init = function(dom, settings) { + var self = this; + + if (!cxSelect.isJquery(dom) && !cxSelect.isZepto(dom)) {return}; + + var theSelect = { + dom: { + box: dom + } + }; + + self.attach = cxSelect.attach.bind(theSelect); + self.detach = cxSelect.detach.bind(theSelect); + self.setOptions = cxSelect.setOptions.bind(theSelect); + self.clear = cxSelect.clear.bind(theSelect); + + theSelect.changeEvent = function() { + cxSelect.selectChange.call(theSelect, this.className); + }; + + theSelect.settings = $.extend({}, $.cxSelect.defaults, settings, { + url: theSelect.dom.box.data('url'), + emptyStyle: theSelect.dom.box.data('emptyStyle'), + required: theSelect.dom.box.data('required'), + firstTitle: theSelect.dom.box.data('firstTitle'), + firstValue: theSelect.dom.box.data('firstValue'), + jsonSpace: theSelect.dom.box.data('jsonSpace'), + jsonName: theSelect.dom.box.data('jsonName'), + jsonValue: theSelect.dom.box.data('jsonValue'), + jsonSub: theSelect.dom.box.data('jsonSub') + }); + + var _dataSelects = theSelect.dom.box.data('selects'); + + if (typeof _dataSelects === 'string' && _dataSelects.length) { + theSelect.settings.selects = _dataSelects.split(','); + }; + + self.setOptions(); + self.attach(); + + // 使用独立接口获取数据 + if (!theSelect.settings.url && !theSelect.settings.data) { + cxSelect.start.apply(theSelect); + + // 设置自定义数据 + } else if ($.isArray(theSelect.settings.data)) { + cxSelect.start.call(theSelect, theSelect.settings.data); + + // 设置 URL,通过 Ajax 获取数据 + } else if (typeof theSelect.settings.url === 'string' && theSelect.settings.url.length) { + $.getJSON(theSelect.settings.url, function(json) { + cxSelect.start.call(theSelect, json); + }); + }; + }; + + // 设置参数 + cxSelect.setOptions = function(opts) { + var self = this; + + if (opts) { + $.extend(self.settings, opts); + }; + + // 初次或重设选择器组 + if (!$.isArray(self.selectArray) || !self.selectArray.length || (opts && opts.selects)) { + self.selectArray = []; + + if ($.isArray(self.settings.selects) && self.settings.selects.length) { + var _tempSelect; + + for (var i = 0, l = self.settings.selects.length; i < l; i++) { + _tempSelect = self.dom.box.find('select.' + self.settings.selects[i]); + + if (!_tempSelect || !_tempSelect.length) {break}; + + self.selectArray.push(_tempSelect); + }; + }; + }; + + if (opts) { + if (!$.isArray(opts.data) && typeof opts.url === 'string' && opts.url.length) { + $.getJSON(self.settings.url, function(json) { + cxSelect.start.call(self, json); + }); + + } else { + cxSelect.start.call(self, opts.data); + }; + }; + }; + + // 绑定 + cxSelect.attach = function() { + var self = this; + + if (!self.attachStatus) { + self.dom.box.on('change', 'select', self.changeEvent); + }; + + if (typeof self.attachStatus === 'boolean') { + cxSelect.start.call(self); + }; + + self.attachStatus = true; + }; + + // 移除绑定 + cxSelect.detach = function() { + var self = this; + self.dom.box.off('change', 'select', self.changeEvent); + self.attachStatus = false; + }; + + // 清空选项 + cxSelect.clear = function(index) { + var self = this; + var _style = { + display: '', + visibility: '' + }; + + index = isNaN(index) ? 0 : index; + + // 清空后面的 select + for (var i = index, l = self.selectArray.length; i < l; i++) { + self.selectArray[i].empty().prop('disabled', true); + + if (self.settings.emptyStyle === 'none') { + _style.display = 'none'; + } else if (self.settings.emptyStyle === 'hidden') { + _style.visibility = 'hidden'; + }; + + self.selectArray[i].css(_style); + }; + }; + + cxSelect.start = function(data) { + var self = this; + + if ($.isArray(data)) { + self.settings.data = cxSelect.getData(data, self.settings.jsonSpace); + }; + + if (!self.selectArray.length) {return}; + + // 保存默认值 + for (var i = 0, l = self.selectArray.length; i < l; i++) { + if (typeof self.selectArray[i].attr('data-value') !== 'string' && self.selectArray[i][0].options.length) { + self.selectArray[i].attr('data-value', self.selectArray[i].val()); + }; + }; + + if (self.settings.data || (typeof self.selectArray[0].data('url') === 'string' && self.selectArray[0].data('url').length)) { + cxSelect.getOptionData.call(self, 0); + } else { + self.selectArray[0].prop('disabled', false).css({ + 'display': '', + 'visibility': '' + }); + }; + }; + + // 获取选项数据 + cxSelect.getOptionData = function(index) { + var self = this; + + if (typeof index !== 'number' || isNaN(index) || index < 0 || index >= self.selectArray.length) {return}; + + var _indexPrev = index - 1; + var _select = self.selectArray[index]; + var _selectData; + var _valueIndex; + var _dataUrl = _select.data('url'); + var _jsonSpace = typeof _select.data('jsonSpace') === 'undefined' ? self.settings.jsonSpace : _select.data('jsonSpace'); + var _query = {}; + var _queryName; + var _selectName; + var _selectValue; + + cxSelect.clear.call(self, index); + + // 使用独立接口 + if (typeof _dataUrl === 'string' && _dataUrl.length) { + if (index > 0) { + for (var i = 0, j = 1; i < index; i++, j++) { + _queryName = self.selectArray[j].data('queryName'); + _selectName = self.selectArray[i].attr('name'); + _selectValue = self.selectArray[i].val(); + + if (typeof _queryName === 'string' && _queryName.length) { + _query[_queryName] = _selectValue; + } else if (typeof _selectName === 'string' && _selectName.length) { + _query[_selectName] = _selectValue; + }; + }; + }; + + $.getJSON(_dataUrl, _query, function(json) { + _selectData = cxSelect.getData(json, _jsonSpace); + + cxSelect.buildOption.call(self, index, _selectData); + }); + + // 使用整合数据 + } else if (self.settings.data && typeof self.settings.data === 'object') { + _selectData = self.settings.data; + + for (var i = 0; i < index; i++) { + _valueIndex = cxSelect.getIndex(self.selectArray[i][0].selectedIndex, typeof self.selectArray[i].data('required') === 'boolean' ? self.selectArray[i].data('required') : self.settings.required); + + if (typeof _selectData[_valueIndex] === 'object' && $.isArray(_selectData[_valueIndex][self.settings.jsonSub]) && _selectData[_valueIndex][self.settings.jsonSub].length) { + _selectData = _selectData[_valueIndex][self.settings.jsonSub]; + } else { + _selectData = null; + break; + }; + }; + + cxSelect.buildOption.call(self, index, _selectData); + }; + }; + + // 构建选项列表 + cxSelect.buildOption = function(index, data) { + var self = this; + + var _select = self.selectArray[index]; + var _required = typeof _select.data('required') === 'boolean' ? _select.data('required') : self.settings.required; + var _firstTitle = typeof _select.data('firstTitle') === 'undefined' ? self.settings.firstTitle : _select.data('firstTitle'); + var _firstValue = typeof _select.data('firstValue') === 'undefined' ? self.settings.firstValue : _select.data('firstValue'); + var _jsonName = typeof _select.data('jsonName') === 'undefined' ? self.settings.jsonName : _select.data('jsonName'); + var _jsonValue = typeof _select.data('jsonValue') === 'undefined' ? self.settings.jsonValue : _select.data('jsonValue'); + + if (!$.isArray(data)) {return}; + + var _html = !_required ? '<option value="' + String(_firstValue) + '">' + String(_firstTitle) + '</option>' : ''; + + // 区分标题、值的数据 + if (typeof _jsonName === 'string' && _jsonName.length) { + // 无值字段时使用标题作为值 + if (typeof _jsonValue !== 'string' || !_jsonValue.length) { + _jsonValue = _jsonName; + }; + + for (var i = 0, l = data.length; i < l; i++) { + _html += '<option value="' + String(data[i][_jsonValue]) + '">' + String(data[i][_jsonName]) + '</option>'; + }; + + // 数组即为值的数据 + } else { + for (var i = 0, l = data.length; i < l; i++) { + _html += '<option value="' + String(data[i]) + '">' + String(data[i]) + '</option>'; + }; + }; + + _select.html(_html).prop('disabled', false).css({ + 'display': '', + 'visibility': '' + }); + + // 初次加载设置默认值 + if (typeof _select.attr('data-value') === 'string') { + _select.val(String(_select.attr('data-value'))).removeAttr('data-value'); + + if (_select[0].selectedIndex < 0) { + _select[0].options[0].selected = true; + }; + }; + + if (_required || _select[0].selectedIndex > 0) { + _select.trigger('change'); + }; + + }; + + // 改变选择时的处理 + cxSelect.selectChange = function(name) { + var self = this; + + if (typeof name !== 'string' || !name.length) {return}; + + var index; + + name = name.replace(/\s+/g, ','); + name = ',' + name + ','; + + // 获取当前 select 位置 + for (var i = 0, l = self.selectArray.length; i < l; i++) { + if (name.indexOf(',' + self.settings.selects[i] + ',') > -1) { + index = i; + break; + }; + }; + + if (typeof index === 'number' && index > -1) { + index += 1; + cxSelect.getOptionData.call(self, index); + }; + }; + + $.cxSelect = function() { + return cxSelect.apply(this, arguments); + }; + + // 默认值 + $.cxSelect.defaults = { + selects: [], // 下拉选框组 + url: null, // 列表数据文件路径(URL)或数组数据 + data: null, // 自定义数据 + emptyStyle: null, // 无数据状态显示方式 + required: false, // 是否为必选 + firstTitle: '请选择', // 第一个选项的标题 + firstValue: '', // 第一个选项的值 + jsonSpace: '', // 数据命名空间 + jsonName: 'n', // 数据标题字段名称 + jsonValue: '', // 数据值字段名称 + jsonSub: 's' // 子集数据字段名称 + }; + + $.fn.cxSelect = function(settings, callback) { + this.each(function(i) { + $.cxSelect(this, settings, callback); + }); + return this; + }; +})); +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + + +(function(factory){ + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports === 'object') { + factory(require('jquery')); + } else { + factory(jQuery); + } +}(function($, undefined){ + function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); + } + function UTCToday(){ + var today = new Date(); + return UTCDate(today.getFullYear(), today.getMonth(), today.getDate()); + } + function isUTCEquals(date1, date2) { + return ( + date1.getUTCFullYear() === date2.getUTCFullYear() && + date1.getUTCMonth() === date2.getUTCMonth() && + date1.getUTCDate() === date2.getUTCDate() + ); + } + function alias(method, deprecationMsg){ + return function(){ + if (deprecationMsg !== undefined) { + $.fn.datepicker.deprecated(deprecationMsg); + } + + return this[method].apply(this, arguments); + }; + } + function isValidDate(d) { + return d && !isNaN(d.getTime()); + } + + var DateArray = (function(){ + var extras = { + get: function(i){ + return this.slice(i)[0]; + }, + contains: function(d){ + // Array.indexOf is not cross-browser; + // $.inArray doesn't work with Dates + var val = d && d.valueOf(); + for (var i=0, l=this.length; i < l; i++) + // Use date arithmetic to allow dates with different times to match + if (0 <= this[i].valueOf() - val && this[i].valueOf() - val < 1000*60*60*24) + return i; + return -1; + }, + remove: function(i){ + this.splice(i,1); + }, + replace: function(new_array){ + if (!new_array) + return; + if (!$.isArray(new_array)) + new_array = [new_array]; + this.clear(); + this.push.apply(this, new_array); + }, + clear: function(){ + this.length = 0; + }, + copy: function(){ + var a = new DateArray(); + a.replace(this); + return a; + } + }; + + return function(){ + var a = []; + a.push.apply(a, arguments); + $.extend(a, extras); + return a; + }; + })(); + + + // Picker object + + var Datepicker = function(element, options){ + $.data(element, 'datepicker', this); + + this._events = []; + this._secondaryEvents = []; + + this._process_options(options); + + this.dates = new DateArray(); + this.viewDate = this.o.defaultViewDate; + this.focusDate = null; + + this.element = $(element); + this.isInput = this.element.is('input'); + this.inputField = this.isInput ? this.element : this.element.find('input'); + this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false; + if (this.component && this.component.length === 0) + this.component = false; + this.isInline = !this.component && this.element.is('div'); + + this.picker = $(DPGlobal.template); + + // Checking templates and inserting + if (this._check_template(this.o.templates.leftArrow)) { + this.picker.find('.prev').html(this.o.templates.leftArrow); + } + + if (this._check_template(this.o.templates.rightArrow)) { + this.picker.find('.next').html(this.o.templates.rightArrow); + } + + this._buildEvents(); + this._attachEvents(); + + if (this.isInline){ + this.picker.addClass('datepicker-inline').appendTo(this.element); + } + else { + this.picker.addClass('datepicker-dropdown dropdown-menu'); + } + + if (this.o.rtl){ + this.picker.addClass('datepicker-rtl'); + } + + if (this.o.calendarWeeks) { + this.picker.find('.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear') + .attr('colspan', function(i, val){ + return Number(val) + 1; + }); + } + + this._process_options({ + startDate: this._o.startDate, + endDate: this._o.endDate, + daysOfWeekDisabled: this.o.daysOfWeekDisabled, + daysOfWeekHighlighted: this.o.daysOfWeekHighlighted, + datesDisabled: this.o.datesDisabled + }); + + this._allow_update = false; + this.setViewMode(this.o.startView); + this._allow_update = true; + + this.fillDow(); + this.fillMonths(); + + this.update(); + + if (this.isInline){ + this.show(); + } + }; + + Datepicker.prototype = { + constructor: Datepicker, + + _resolveViewName: function(view){ + $.each(DPGlobal.viewModes, function(i, viewMode){ + if (view === i || $.inArray(view, viewMode.names) !== -1){ + view = i; + return false; + } + }); + + return view; + }, + + _resolveDaysOfWeek: function(daysOfWeek){ + if (!$.isArray(daysOfWeek)) + daysOfWeek = daysOfWeek.split(/[,\s]*/); + return $.map(daysOfWeek, Number); + }, + + _check_template: function(tmp){ + try { + // If empty + if (tmp === undefined || tmp === "") { + return false; + } + // If no html, everything ok + if ((tmp.match(/[<>]/g) || []).length <= 0) { + return true; + } + // Checking if html is fine + var jDom = $(tmp); + return jDom.length > 0; + } + catch (ex) { + return false; + } + }, + + _process_options: function(opts){ + // Store raw options for reference + this._o = $.extend({}, this._o, opts); + // Processed options + var o = this.o = $.extend({}, this._o); + + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + var lang = o.language; + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + lang = defaults.language; + } + o.language = lang; + + // Retrieve view index from any aliases + o.startView = this._resolveViewName(o.startView); + o.minViewMode = this._resolveViewName(o.minViewMode); + o.maxViewMode = this._resolveViewName(o.maxViewMode); + + // Check view is between min and max + o.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, o.startView)); + + // true, false, or Number > 0 + if (o.multidate !== true){ + o.multidate = Number(o.multidate) || false; + if (o.multidate !== false) + o.multidate = Math.max(0, o.multidate); + } + o.multidateSeparator = String(o.multidateSeparator); + + o.weekStart %= 7; + o.weekEnd = (o.weekStart + 6) % 7; + + var format = DPGlobal.parseFormat(o.format); + if (o.startDate !== -Infinity){ + if (!!o.startDate){ + if (o.startDate instanceof Date) + o.startDate = this._local_to_utc(this._zero_time(o.startDate)); + else + o.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear); + } + else { + o.startDate = -Infinity; + } + } + if (o.endDate !== Infinity){ + if (!!o.endDate){ + if (o.endDate instanceof Date) + o.endDate = this._local_to_utc(this._zero_time(o.endDate)); + else + o.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear); + } + else { + o.endDate = Infinity; + } + } + + o.daysOfWeekDisabled = this._resolveDaysOfWeek(o.daysOfWeekDisabled||[]); + o.daysOfWeekHighlighted = this._resolveDaysOfWeek(o.daysOfWeekHighlighted||[]); + + o.datesDisabled = o.datesDisabled||[]; + if (!$.isArray(o.datesDisabled)) { + o.datesDisabled = o.datesDisabled.split(','); + } + o.datesDisabled = $.map(o.datesDisabled, function(d){ + return DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear); + }); + + var plc = String(o.orientation).toLowerCase().split(/\s+/g), + _plc = o.orientation.toLowerCase(); + plc = $.grep(plc, function(word){ + return /^auto|left|right|top|bottom$/.test(word); + }); + o.orientation = {x: 'auto', y: 'auto'}; + if (!_plc || _plc === 'auto') + ; // no action + else if (plc.length === 1){ + switch (plc[0]){ + case 'top': + case 'bottom': + o.orientation.y = plc[0]; + break; + case 'left': + case 'right': + o.orientation.x = plc[0]; + break; + } + } + else { + _plc = $.grep(plc, function(word){ + return /^left|right$/.test(word); + }); + o.orientation.x = _plc[0] || 'auto'; + + _plc = $.grep(plc, function(word){ + return /^top|bottom$/.test(word); + }); + o.orientation.y = _plc[0] || 'auto'; + } + if (o.defaultViewDate instanceof Date || typeof o.defaultViewDate === 'string') { + o.defaultViewDate = DPGlobal.parseDate(o.defaultViewDate, format, o.language, o.assumeNearbyYear); + } else if (o.defaultViewDate) { + var year = o.defaultViewDate.year || new Date().getFullYear(); + var month = o.defaultViewDate.month || 0; + var day = o.defaultViewDate.day || 1; + o.defaultViewDate = UTCDate(year, month, day); + } else { + o.defaultViewDate = UTCToday(); + } + }, + _applyEvents: function(evs){ + for (var i=0, el, ch, ev; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.on(ev, ch); + } + }, + _unapplyEvents: function(evs){ + for (var i=0, el, ev, ch; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.off(ev, ch); + } + }, + _buildEvents: function(){ + var events = { + keyup: $.proxy(function(e){ + if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1) + this.update(); + }, this), + keydown: $.proxy(this.keydown, this), + paste: $.proxy(this.paste, this) + }; + + if (this.o.showOnFocus === true) { + events.focus = $.proxy(this.show, this); + } + + if (this.isInput) { // single input + this._events = [ + [this.element, events] + ]; + } + // component: input + button + else if (this.component && this.inputField.length) { + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.inputField, events], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + this._events.push( + // Component: listen for blur on element descendants + [this.element, '*', { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }], + // Input: listen for blur on element + [this.element, { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }] + ); + + if (this.o.immediateUpdates) { + // Trigger input updates immediately on changed year/month + this._events.push([this.element, { + 'changeYear changeMonth': $.proxy(function(e){ + this.update(e.date); + }, this) + }]); + } + + this._secondaryEvents = [ + [this.picker, { + click: $.proxy(this.click, this) + }], + [this.picker, '.prev, .next', { + click: $.proxy(this.navArrowsClick, this) + }], + [this.picker, '.day:not(.disabled)', { + click: $.proxy(this.dayCellClick, this) + }], + [$(window), { + resize: $.proxy(this.place, this) + }], + [$(document), { + 'mousedown touchstart': $.proxy(function(e){ + // Clicked outside the datepicker, hide it + if (!( + this.element.is(e.target) || + this.element.find(e.target).length || + this.picker.is(e.target) || + this.picker.find(e.target).length || + this.isInline + )){ + this.hide(); + } + }, this) + }] + ]; + }, + _attachEvents: function(){ + this._detachEvents(); + this._applyEvents(this._events); + }, + _detachEvents: function(){ + this._unapplyEvents(this._events); + }, + _attachSecondaryEvents: function(){ + this._detachSecondaryEvents(); + this._applyEvents(this._secondaryEvents); + }, + _detachSecondaryEvents: function(){ + this._unapplyEvents(this._secondaryEvents); + }, + _trigger: function(event, altdate){ + var date = altdate || this.dates.get(-1), + local_date = this._utc_to_local(date); + + this.element.trigger({ + type: event, + date: local_date, + viewMode: this.viewMode, + dates: $.map(this.dates, this._utc_to_local), + format: $.proxy(function(ix, format){ + if (arguments.length === 0){ + ix = this.dates.length - 1; + format = this.o.format; + } else if (typeof ix === 'string'){ + format = ix; + ix = this.dates.length - 1; + } + format = format || this.o.format; + var date = this.dates.get(ix); + return DPGlobal.formatDate(date, format, this.o.language); + }, this) + }); + }, + + show: function(){ + if (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false)) + return; + if (!this.isInline) + this.picker.appendTo(this.o.container); + this.place(); + this.picker.show(); + this._attachSecondaryEvents(); + this._trigger('show'); + if ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) { + $(this.element).blur(); + } + return this; + }, + + hide: function(){ + if (this.isInline || !this.picker.is(':visible')) + return this; + this.focusDate = null; + this.picker.hide().detach(); + this._detachSecondaryEvents(); + this.setViewMode(this.o.startView); + + if (this.o.forceParse && this.inputField.val()) + this.setValue(); + this._trigger('hide'); + return this; + }, + + destroy: function(){ + this.hide(); + this._detachEvents(); + this._detachSecondaryEvents(); + this.picker.remove(); + delete this.element.data().datepicker; + if (!this.isInput){ + delete this.element.data().date; + } + return this; + }, + + paste: function(e){ + var dateString; + if (e.originalEvent.clipboardData && e.originalEvent.clipboardData.types + && $.inArray('text/plain', e.originalEvent.clipboardData.types) !== -1) { + dateString = e.originalEvent.clipboardData.getData('text/plain'); + } else if (window.clipboardData) { + dateString = window.clipboardData.getData('Text'); + } else { + return; + } + this.setDate(dateString); + this.update(); + e.preventDefault(); + }, + + _utc_to_local: function(utc){ + if (!utc) { + return utc; + } + + var local = new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000)); + + if (local.getTimezoneOffset() !== utc.getTimezoneOffset()) { + local = new Date(utc.getTime() + (local.getTimezoneOffset() * 60000)); + } + + return local; + }, + _local_to_utc: function(local){ + return local && new Date(local.getTime() - (local.getTimezoneOffset()*60000)); + }, + _zero_time: function(local){ + return local && new Date(local.getFullYear(), local.getMonth(), local.getDate()); + }, + _zero_utc_time: function(utc){ + return utc && UTCDate(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate()); + }, + + getDates: function(){ + return $.map(this.dates, this._utc_to_local); + }, + + getUTCDates: function(){ + return $.map(this.dates, function(d){ + return new Date(d); + }); + }, + + getDate: function(){ + return this._utc_to_local(this.getUTCDate()); + }, + + getUTCDate: function(){ + var selected_date = this.dates.get(-1); + if (selected_date !== undefined) { + return new Date(selected_date); + } else { + return null; + } + }, + + clearDates: function(){ + this.inputField.val(''); + this.update(); + this._trigger('changeDate'); + + if (this.o.autoclose) { + this.hide(); + } + }, + + setDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, args); + this._trigger('changeDate'); + this.setValue(); + return this; + }, + + setUTCDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.setDates.apply(this, $.map(args, this._utc_to_local)); + return this; + }, + + setDate: alias('setDates'), + setUTCDate: alias('setUTCDates'), + remove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead'), + + setValue: function(){ + var formatted = this.getFormattedDate(); + this.inputField.val(formatted); + return this; + }, + + getFormattedDate: function(format){ + if (format === undefined) + format = this.o.format; + + var lang = this.o.language; + return $.map(this.dates, function(d){ + return DPGlobal.formatDate(d, format, lang); + }).join(this.o.multidateSeparator); + }, + + getStartDate: function(){ + return this.o.startDate; + }, + + setStartDate: function(startDate){ + this._process_options({startDate: startDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + getEndDate: function(){ + return this.o.endDate; + }, + + setEndDate: function(endDate){ + this._process_options({endDate: endDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + setDaysOfWeekDisabled: function(daysOfWeekDisabled){ + this._process_options({daysOfWeekDisabled: daysOfWeekDisabled}); + this.update(); + return this; + }, + + setDaysOfWeekHighlighted: function(daysOfWeekHighlighted){ + this._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted}); + this.update(); + return this; + }, + + setDatesDisabled: function(datesDisabled){ + this._process_options({datesDisabled: datesDisabled}); + this.update(); + return this; + }, + + place: function(){ + if (this.isInline) + return this; + var calendarWidth = this.picker.outerWidth(), + calendarHeight = this.picker.outerHeight(), + visualPadding = 10, + container = $(this.o.container), + windowWidth = container.width(), + scrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(), + appendOffset = container.offset(); + + var parentsZindex = [0]; + this.element.parents().each(function(){ + var itemZIndex = $(this).css('z-index'); + if (itemZIndex !== 'auto' && Number(itemZIndex) !== 0) parentsZindex.push(Number(itemZIndex)); + }); + var zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset; + var offset = this.component ? this.component.parent().offset() : this.element.offset(); + var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false); + var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false); + var left = offset.left - appendOffset.left; + var top = offset.top - appendOffset.top; + + if (this.o.container !== 'body') { + top += scrollTop; + } + + this.picker.removeClass( + 'datepicker-orient-top datepicker-orient-bottom '+ + 'datepicker-orient-right datepicker-orient-left' + ); + + if (this.o.orientation.x !== 'auto'){ + this.picker.addClass('datepicker-orient-' + this.o.orientation.x); + if (this.o.orientation.x === 'right') + left -= calendarWidth - width; + } + // auto x orientation is best-placement: if it crosses a window + // edge, fudge it sideways + else { + if (offset.left < 0) { + // component is outside the window on the left side. Move it into visible range + this.picker.addClass('datepicker-orient-left'); + left -= offset.left - visualPadding; + } else if (left + calendarWidth > windowWidth) { + // the calendar passes the widow right edge. Align it to component right side + this.picker.addClass('datepicker-orient-right'); + left += width - calendarWidth; + } else { + if (this.o.rtl) { + // Default to right + this.picker.addClass('datepicker-orient-right'); + } else { + // Default to left + this.picker.addClass('datepicker-orient-left'); + } + } + } + + // auto y orientation is best-situation: top or bottom, no fudging, + // decision based on which shows more of the calendar + var yorient = this.o.orientation.y, + top_overflow; + if (yorient === 'auto'){ + top_overflow = -scrollTop + top - calendarHeight; + yorient = top_overflow < 0 ? 'bottom' : 'top'; + } + + this.picker.addClass('datepicker-orient-' + yorient); + if (yorient === 'top') + top -= calendarHeight + parseInt(this.picker.css('padding-top')); + else + top += height; + + if (this.o.rtl) { + var right = windowWidth - (left + width); + this.picker.css({ + top: top, + right: right, + zIndex: zIndex + }); + } else { + this.picker.css({ + top: top, + left: left, + zIndex: zIndex + }); + } + return this; + }, + + _allow_update: true, + update: function(){ + if (!this._allow_update) + return this; + + var oldDates = this.dates.copy(), + dates = [], + fromArgs = false; + if (arguments.length){ + $.each(arguments, $.proxy(function(i, date){ + if (date instanceof Date) + date = this._local_to_utc(date); + dates.push(date); + }, this)); + fromArgs = true; + } else { + dates = this.isInput + ? this.element.val() + : this.element.data('date') || this.inputField.val(); + if (dates && this.o.multidate) + dates = dates.split(this.o.multidateSeparator); + else + dates = [dates]; + delete this.element.data().date; + } + + dates = $.map(dates, $.proxy(function(date){ + return DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear); + }, this)); + dates = $.grep(dates, $.proxy(function(date){ + return ( + !this.dateWithinRange(date) || + !date + ); + }, this), true); + this.dates.replace(dates); + + if (this.o.updateViewDate) { + if (this.dates.length) + this.viewDate = new Date(this.dates.get(-1)); + else if (this.viewDate < this.o.startDate) + this.viewDate = new Date(this.o.startDate); + else if (this.viewDate > this.o.endDate) + this.viewDate = new Date(this.o.endDate); + else + this.viewDate = this.o.defaultViewDate; + } + + if (fromArgs){ + // setting date by clicking + this.setValue(); + this.element.change(); + } + else if (this.dates.length){ + // setting date by typing + if (String(oldDates) !== String(this.dates) && fromArgs) { + this._trigger('changeDate'); + this.element.change(); + } + } + if (!this.dates.length && oldDates.length) { + this._trigger('clearDate'); + this.element.change(); + } + + this.fill(); + return this; + }, + + fillDow: function(){ + if (this.o.showWeekDays) { + var dowCnt = this.o.weekStart, + html = '<tr>'; + if (this.o.calendarWeeks){ + html += '<th class="cw"> </th>'; + } + while (dowCnt < this.o.weekStart + 7){ + html += '<th class="dow'; + if ($.inArray(dowCnt, this.o.daysOfWeekDisabled) !== -1) + html += ' disabled'; + html += '">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'</th>'; + } + html += '</tr>'; + this.picker.find('.datepicker-days thead').append(html); + } + }, + + fillMonths: function(){ + var localDate = this._utc_to_local(this.viewDate); + var html = ''; + var focused; + for (var i = 0; i < 12; i++){ + focused = localDate && localDate.getMonth() === i ? ' focused' : ''; + html += '<span class="month' + focused + '">' + dates[this.o.language].monthsShort[i] + '</span>'; + } + this.picker.find('.datepicker-months td').html(html); + }, + + setRange: function(range){ + if (!range || !range.length) + delete this.range; + else + this.range = $.map(range, function(d){ + return d.valueOf(); + }); + this.fill(); + }, + + getClassNames: function(date){ + var cls = [], + year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + today = UTCToday(); + if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){ + cls.push('old'); + } else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){ + cls.push('new'); + } + if (this.focusDate && date.valueOf() === this.focusDate.valueOf()) + cls.push('focused'); + // Compare internal UTC date with UTC today, not local today + if (this.o.todayHighlight && isUTCEquals(date, today)) { + cls.push('today'); + } + if (this.dates.contains(date) !== -1) + cls.push('active'); + if (!this.dateWithinRange(date)){ + cls.push('disabled'); + } + if (this.dateIsDisabled(date)){ + cls.push('disabled', 'disabled-date'); + } + if ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){ + cls.push('highlighted'); + } + + if (this.range){ + if (date > this.range[0] && date < this.range[this.range.length-1]){ + cls.push('range'); + } + if ($.inArray(date.valueOf(), this.range) !== -1){ + cls.push('selected'); + } + if (date.valueOf() === this.range[0]){ + cls.push('range-start'); + } + if (date.valueOf() === this.range[this.range.length-1]){ + cls.push('range-end'); + } + } + return cls; + }, + + _fill_yearsView: function(selector, cssClass, factor, year, startYear, endYear, beforeFn){ + var html = ''; + var step = factor / 10; + var view = this.picker.find(selector); + var startVal = Math.floor(year / factor) * factor; + var endVal = startVal + step * 9; + var focusedVal = Math.floor(this.viewDate.getFullYear() / step) * step; + var selected = $.map(this.dates, function(d){ + return Math.floor(d.getUTCFullYear() / step) * step; + }); + + var classes, tooltip, before; + for (var currVal = startVal - step; currVal <= endVal + step; currVal += step) { + classes = [cssClass]; + tooltip = null; + + if (currVal === startVal - step) { + classes.push('old'); + } else if (currVal === endVal + step) { + classes.push('new'); + } + if ($.inArray(currVal, selected) !== -1) { + classes.push('active'); + } + if (currVal < startYear || currVal > endYear) { + classes.push('disabled'); + } + if (currVal === focusedVal) { + classes.push('focused'); + } + + if (beforeFn !== $.noop) { + before = beforeFn(new Date(currVal, 0, 1)); + if (before === undefined) { + before = {}; + } else if (typeof before === 'boolean') { + before = {enabled: before}; + } else if (typeof before === 'string') { + before = {classes: before}; + } + if (before.enabled === false) { + classes.push('disabled'); + } + if (before.classes) { + classes = classes.concat(before.classes.split(/\s+/)); + } + if (before.tooltip) { + tooltip = before.tooltip; + } + } + + html += '<span class="' + classes.join(' ') + '"' + (tooltip ? ' title="' + tooltip + '"' : '') + '>' + currVal + '</span>'; + } + + view.find('.datepicker-switch').text(startVal + '-' + endVal); + view.find('td').html(html); + }, + + fill: function(){ + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + todaytxt = dates[this.o.language].today || dates['en'].today || '', + cleartxt = dates[this.o.language].clear || dates['en'].clear || '', + titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat, + todayDate = UTCToday(), + titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate), + tooltip, + before; + if (isNaN(year) || isNaN(month)) + return; + this.picker.find('.datepicker-days .datepicker-switch') + .text(DPGlobal.formatDate(d, titleFormat, this.o.language)); + this.picker.find('tfoot .today') + .text(todaytxt) + .css('display', titleBtnVisible ? 'table-cell' : 'none'); + this.picker.find('tfoot .clear') + .text(cleartxt) + .css('display', this.o.clearBtn === true ? 'table-cell' : 'none'); + this.picker.find('thead .datepicker-title') + .text(this.o.title) + .css('display', typeof this.o.title === 'string' && this.o.title !== '' ? 'table-cell' : 'none'); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month, 0), + day = prevMonth.getUTCDate(); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + if (prevMonth.getUTCFullYear() < 100){ + nextMonth.setUTCFullYear(prevMonth.getUTCFullYear()); + } + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var weekDay, clsName; + while (prevMonth.valueOf() < nextMonth){ + weekDay = prevMonth.getUTCDay(); + if (weekDay === this.o.weekStart){ + html.push('<tr>'); + if (this.o.calendarWeeks){ + // ISO 8601: First week contains first thursday. + // ISO also states week starts on Monday, but we can be more abstract here. + var + // Start of current week: based on weekstart/current date + ws = new Date(+prevMonth + (this.o.weekStart - weekDay - 7) % 7 * 864e5), + // Thursday of this week + th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), + // First Thursday of year, year from thursday + yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5), + // Calendar week: ms between thursdays, div ms per day, div 7 days + calWeek = (th - yth) / 864e5 / 7 + 1; + html.push('<td class="cw">'+ calWeek +'</td>'); + } + } + clsName = this.getClassNames(prevMonth); + clsName.push('day'); + + var content = prevMonth.getUTCDate(); + + if (this.o.beforeShowDay !== $.noop){ + before = this.o.beforeShowDay(this._utc_to_local(prevMonth)); + if (before === undefined) + before = {}; + else if (typeof before === 'boolean') + before = {enabled: before}; + else if (typeof before === 'string') + before = {classes: before}; + if (before.enabled === false) + clsName.push('disabled'); + if (before.classes) + clsName = clsName.concat(before.classes.split(/\s+/)); + if (before.tooltip) + tooltip = before.tooltip; + if (before.content) + content = before.content; + } + + //Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2) + //Fallback to unique function for older jquery versions + if ($.isFunction($.uniqueSort)) { + clsName = $.uniqueSort(clsName); + } else { + clsName = $.unique(clsName); + } + + html.push('<td class="'+clsName.join(' ')+'"' + (tooltip ? ' title="'+tooltip+'"' : '') + ' data-date="' + prevMonth.getTime().toString() + '">' + content + '</td>'); + tooltip = null; + if (weekDay === this.o.weekEnd){ + html.push('</tr>'); + } + prevMonth.setUTCDate(prevMonth.getUTCDate() + 1); + } + this.picker.find('.datepicker-days tbody').html(html.join('')); + + var monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months'; + var months = this.picker.find('.datepicker-months') + .find('.datepicker-switch') + .text(this.o.maxViewMode < 2 ? monthsTitle : year) + .end() + .find('tbody span').removeClass('active'); + + $.each(this.dates, function(i, d){ + if (d.getUTCFullYear() === year) + months.eq(d.getUTCMonth()).addClass('active'); + }); + + if (year < startYear || year > endYear){ + months.addClass('disabled'); + } + if (year === startYear){ + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear){ + months.slice(endMonth+1).addClass('disabled'); + } + + if (this.o.beforeShowMonth !== $.noop){ + var that = this; + $.each(months, function(i, month){ + var moDate = new Date(year, i, 1); + var before = that.o.beforeShowMonth(moDate); + if (before === undefined) + before = {}; + else if (typeof before === 'boolean') + before = {enabled: before}; + else if (typeof before === 'string') + before = {classes: before}; + if (before.enabled === false && !$(month).hasClass('disabled')) + $(month).addClass('disabled'); + if (before.classes) + $(month).addClass(before.classes); + if (before.tooltip) + $(month).prop('title', before.tooltip); + }); + } + + // Generating decade/years picker + this._fill_yearsView( + '.datepicker-years', + 'year', + 10, + year, + startYear, + endYear, + this.o.beforeShowYear + ); + + // Generating century/decades picker + this._fill_yearsView( + '.datepicker-decades', + 'decade', + 100, + year, + startYear, + endYear, + this.o.beforeShowDecade + ); + + // Generating millennium/centuries picker + this._fill_yearsView( + '.datepicker-centuries', + 'century', + 1000, + year, + startYear, + endYear, + this.o.beforeShowCentury + ); + }, + + updateNavArrows: function(){ + if (!this._allow_update) + return; + + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + prevIsDisabled, + nextIsDisabled, + factor = 1; + switch (this.viewMode){ + case 4: + factor *= 10; + /* falls through */ + case 3: + factor *= 10; + /* falls through */ + case 2: + factor *= 10; + /* falls through */ + case 1: + prevIsDisabled = Math.floor(year / factor) * factor <= startYear; + nextIsDisabled = Math.floor(year / factor) * factor + factor > endYear; + break; + case 0: + prevIsDisabled = year <= startYear && month <= startMonth; + nextIsDisabled = year >= endYear && month >= endMonth; + break; + } + + this.picker.find('.prev').toggleClass('disabled', prevIsDisabled); + this.picker.find('.next').toggleClass('disabled', nextIsDisabled); + }, + + click: function(e){ + e.preventDefault(); + e.stopPropagation(); + + var target, dir, day, year, month; + target = $(e.target); + + // Clicked on the switch + if (target.hasClass('datepicker-switch') && this.viewMode !== this.o.maxViewMode){ + this.setViewMode(this.viewMode + 1); + } + + // Clicked on today button + if (target.hasClass('today') && !target.hasClass('day')){ + this.setViewMode(0); + this._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view'); + } + + // Clicked on clear button + if (target.hasClass('clear')){ + this.clearDates(); + } + + if (!target.hasClass('disabled')){ + // Clicked on a month, year, decade, century + if (target.hasClass('month') + || target.hasClass('year') + || target.hasClass('decade') + || target.hasClass('century')) { + this.viewDate.setUTCDate(1); + + day = 1; + if (this.viewMode === 1){ + month = target.parent().find('span').index(target); + year = this.viewDate.getUTCFullYear(); + this.viewDate.setUTCMonth(month); + } else { + month = 0; + year = Number(target.text()); + this.viewDate.setUTCFullYear(year); + } + + this._trigger(DPGlobal.viewModes[this.viewMode - 1].e, this.viewDate); + + if (this.viewMode === this.o.minViewMode){ + this._setDate(UTCDate(year, month, day)); + } else { + this.setViewMode(this.viewMode - 1); + this.fill(); + } + } + } + + if (this.picker.is(':visible') && this._focused_from){ + this._focused_from.focus(); + } + delete this._focused_from; + }, + + dayCellClick: function(e){ + var $target = $(e.currentTarget); + var timestamp = $target.data('date'); + var date = new Date(timestamp); + + if (this.o.updateViewDate) { + if (date.getUTCFullYear() !== this.viewDate.getUTCFullYear()) { + this._trigger('changeYear', this.viewDate); + } + + if (date.getUTCMonth() !== this.viewDate.getUTCMonth()) { + this._trigger('changeMonth', this.viewDate); + } + } + this._setDate(date); + }, + + // Clicked on prev or next + navArrowsClick: function(e){ + var $target = $(e.currentTarget); + var dir = $target.hasClass('prev') ? -1 : 1; + if (this.viewMode !== 0){ + dir *= DPGlobal.viewModes[this.viewMode].navStep * 12; + } + this.viewDate = this.moveMonth(this.viewDate, dir); + this._trigger(DPGlobal.viewModes[this.viewMode].e, this.viewDate); + this.fill(); + }, + + _toggle_multidate: function(date){ + var ix = this.dates.contains(date); + if (!date){ + this.dates.clear(); + } + + if (ix !== -1){ + if (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){ + this.dates.remove(ix); + } + } else if (this.o.multidate === false) { + this.dates.clear(); + this.dates.push(date); + } + else { + this.dates.push(date); + } + + if (typeof this.o.multidate === 'number') + while (this.dates.length > this.o.multidate) + this.dates.remove(0); + }, + + _setDate: function(date, which){ + if (!which || which === 'date') + this._toggle_multidate(date && new Date(date)); + if ((!which && this.o.updateViewDate) || which === 'view') + this.viewDate = date && new Date(date); + + this.fill(); + this.setValue(); + if (!which || which !== 'view') { + this._trigger('changeDate'); + } + this.inputField.trigger('change'); + if (this.o.autoclose && (!which || which === 'date')){ + this.hide(); + } + }, + + moveDay: function(date, dir){ + var newDate = new Date(date); + newDate.setUTCDate(date.getUTCDate() + dir); + + return newDate; + }, + + moveWeek: function(date, dir){ + return this.moveDay(date, dir * 7); + }, + + moveMonth: function(date, dir){ + if (!isValidDate(date)) + return this.o.defaultViewDate; + if (!dir) + return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1){ + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) + ? function(){ + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) + : function(){ + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + new_month = (new_month + 12) % 12; + } + else { + // For magnitudes >1, move one month at a time... + for (var i=0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function(){ + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()){ + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function(date, dir){ + return this.moveMonth(date, dir*12); + }, + + moveAvailableDate: function(date, dir, fn){ + do { + date = this[fn](date, dir); + + if (!this.dateWithinRange(date)) + return false; + + fn = 'moveDay'; + } + while (this.dateIsDisabled(date)); + + return date; + }, + + weekOfDateIsDisabled: function(date){ + return $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1; + }, + + dateIsDisabled: function(date){ + return ( + this.weekOfDateIsDisabled(date) || + $.grep(this.o.datesDisabled, function(d){ + return isUTCEquals(date, d); + }).length > 0 + ); + }, + + dateWithinRange: function(date){ + return date >= this.o.startDate && date <= this.o.endDate; + }, + + keydown: function(e){ + if (!this.picker.is(':visible')){ + if (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker + this.show(); + e.stopPropagation(); + } + return; + } + var dateChanged = false, + dir, newViewDate, + focusDate = this.focusDate || this.viewDate; + switch (e.keyCode){ + case 27: // escape + if (this.focusDate){ + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + } + else + this.hide(); + e.preventDefault(); + e.stopPropagation(); + break; + case 37: // left + case 38: // up + case 39: // right + case 40: // down + if (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7) + break; + dir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1; + if (this.viewMode === 0) { + if (e.ctrlKey){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear'); + + if (newViewDate) + this._trigger('changeYear', this.viewDate); + } else if (e.shiftKey){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth'); + + if (newViewDate) + this._trigger('changeMonth', this.viewDate); + } else if (e.keyCode === 37 || e.keyCode === 39){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay'); + } else if (!this.weekOfDateIsDisabled(focusDate)){ + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek'); + } + } else if (this.viewMode === 1) { + if (e.keyCode === 38 || e.keyCode === 40) { + dir = dir * 4; + } + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth'); + } else if (this.viewMode === 2) { + if (e.keyCode === 38 || e.keyCode === 40) { + dir = dir * 4; + } + newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear'); + } + if (newViewDate){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 13: // enter + if (!this.o.forceParse) + break; + focusDate = this.focusDate || this.dates.get(-1) || this.viewDate; + if (this.o.keyboardNavigation) { + this._toggle_multidate(focusDate); + dateChanged = true; + } + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.setValue(); + this.fill(); + if (this.picker.is(':visible')){ + e.preventDefault(); + e.stopPropagation(); + if (this.o.autoclose) + this.hide(); + } + break; + case 9: // tab + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + this.hide(); + break; + } + if (dateChanged){ + if (this.dates.length) + this._trigger('changeDate'); + else + this._trigger('clearDate'); + this.inputField.trigger('change'); + } + }, + + setViewMode: function(viewMode){ + this.viewMode = viewMode; + this.picker + .children('div') + .hide() + .filter('.datepicker-' + DPGlobal.viewModes[this.viewMode].clsName) + .show(); + this.updateNavArrows(); + this._trigger('changeViewMode', new Date(this.viewDate)); + } + }; + + var DateRangePicker = function(element, options){ + $.data(element, 'datepicker', this); + this.element = $(element); + this.inputs = $.map(options.inputs, function(i){ + return i.jquery ? i[0] : i; + }); + delete options.inputs; + + this.keepEmptyValues = options.keepEmptyValues; + delete options.keepEmptyValues; + + datepickerPlugin.call($(this.inputs), options) + .on('changeDate', $.proxy(this.dateUpdated, this)); + + this.pickers = $.map(this.inputs, function(i){ + return $.data(i, 'datepicker'); + }); + this.updateDates(); + }; + DateRangePicker.prototype = { + updateDates: function(){ + this.dates = $.map(this.pickers, function(i){ + return i.getUTCDate(); + }); + this.updateRanges(); + }, + updateRanges: function(){ + var range = $.map(this.dates, function(d){ + return d.valueOf(); + }); + $.each(this.pickers, function(i, p){ + p.setRange(range); + }); + }, + clearDates: function(){ + $.each(this.pickers, function(i, p){ + p.clearDates(); + }); + }, + dateUpdated: function(e){ + // `this.updating` is a workaround for preventing infinite recursion + // between `changeDate` triggering and `setUTCDate` calling. Until + // there is a better mechanism. + if (this.updating) + return; + this.updating = true; + + var dp = $.data(e.target, 'datepicker'); + + if (dp === undefined) { + return; + } + + var new_date = dp.getUTCDate(), + keep_empty_values = this.keepEmptyValues, + i = $.inArray(e.target, this.inputs), + j = i - 1, + k = i + 1, + l = this.inputs.length; + if (i === -1) + return; + + $.each(this.pickers, function(i, p){ + if (!p.getUTCDate() && (p === dp || !keep_empty_values)) + p.setUTCDate(new_date); + }); + + if (new_date < this.dates[j]){ + // Date being moved earlier/left + while (j >= 0 && new_date < this.dates[j]){ + this.pickers[j--].setUTCDate(new_date); + } + } else if (new_date > this.dates[k]){ + // Date being moved later/right + while (k < l && new_date > this.dates[k]){ + this.pickers[k++].setUTCDate(new_date); + } + } + this.updateDates(); + + delete this.updating; + }, + destroy: function(){ + $.map(this.pickers, function(p){ p.destroy(); }); + $(this.inputs).off('changeDate', this.dateUpdated); + delete this.element.data().datepicker; + }, + remove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead') + }; + + function opts_from_el(el, prefix){ + // Derive options from element data-attrs + var data = $(el).data(), + out = {}, inkey, + replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'); + prefix = new RegExp('^' + prefix.toLowerCase()); + function re_lower(_,a){ + return a.toLowerCase(); + } + for (var key in data) + if (prefix.test(key)){ + inkey = key.replace(replace, re_lower); + out[inkey] = data[key]; + } + return out; + } + + function opts_from_locale(lang){ + // Derive options from locale plugins + var out = {}; + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + return; + } + var d = dates[lang]; + $.each(locale_opts, function(i,k){ + if (k in d) + out[k] = d[k]; + }); + return out; + } + + var old = $.fn.datepicker; + var datepickerPlugin = function(option){ + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function(){ + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data){ + var elopts = opts_from_el(this, 'date'), + // Preliminary otions + xopts = $.extend({}, defaults, elopts, options), + locopts = opts_from_locale(xopts.language), + // Options priority: js args, data-attrs, locales, defaults + opts = $.extend({}, defaults, locopts, elopts, options); + if ($this.hasClass('input-daterange') || opts.inputs){ + $.extend(opts, { + inputs: opts.inputs || $this.find('input').toArray() + }); + data = new DateRangePicker(this, opts); + } + else { + data = new Datepicker(this, opts); + } + $this.data('datepicker', data); + } + if (typeof option === 'string' && typeof data[option] === 'function'){ + internal_return = data[option].apply(data, args); + } + }); + + if ( + internal_return === undefined || + internal_return instanceof Datepicker || + internal_return instanceof DateRangePicker + ) + return this; + + if (this.length > 1) + throw new Error('Using only allowed for the collection of a single element (' + option + ' function)'); + else + return internal_return; + }; + $.fn.datepicker = datepickerPlugin; + + var defaults = $.fn.datepicker.defaults = { + assumeNearbyYear: false, + autoclose: false, + beforeShowDay: $.noop, + beforeShowMonth: $.noop, + beforeShowYear: $.noop, + beforeShowDecade: $.noop, + beforeShowCentury: $.noop, + calendarWeeks: false, + clearBtn: false, + toggleActive: false, + daysOfWeekDisabled: [], + daysOfWeekHighlighted: [], + datesDisabled: [], + endDate: Infinity, + forceParse: true, + format: 'mm/dd/yyyy', + keepEmptyValues: false, + keyboardNavigation: true, + language: 'en', + minViewMode: 0, + maxViewMode: 4, + multidate: false, + multidateSeparator: ',', + orientation: "auto", + rtl: false, + startDate: -Infinity, + startView: 0, + todayBtn: false, + todayHighlight: false, + updateViewDate: true, + weekStart: 0, + disableTouchKeyboard: false, + enableOnReadonly: true, + showOnFocus: true, + zIndexOffset: 10, + container: 'body', + immediateUpdates: false, + title: '', + templates: { + leftArrow: '«', + rightArrow: '»' + }, + showWeekDays: true + }; + var locale_opts = $.fn.datepicker.locale_opts = [ + 'format', + 'rtl', + 'weekStart' + ]; + $.fn.datepicker.Constructor = Datepicker; + var dates = $.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear", + titleFormat: "MM yyyy" + } + }; + + var DPGlobal = { + viewModes: [ + { + names: ['days', 'month'], + clsName: 'days', + e: 'changeMonth' + }, + { + names: ['months', 'year'], + clsName: 'months', + e: 'changeYear', + navStep: 1 + }, + { + names: ['years', 'decade'], + clsName: 'years', + e: 'changeDecade', + navStep: 10 + }, + { + names: ['decades', 'century'], + clsName: 'decades', + e: 'changeCentury', + navStep: 100 + }, + { + names: ['centuries', 'millennium'], + clsName: 'centuries', + e: 'changeMillennium', + navStep: 1000 + } + ], + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g, + parseFormat: function(format){ + if (typeof format.toValue === 'function' && typeof format.toDisplay === 'function') + return format; + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts, '\0').split('\0'), + parts = format.match(this.validParts); + if (!separators || !separators.length || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separators: separators, parts: parts}; + }, + parseDate: function(date, format, language, assumeNearby){ + if (!date) + return undefined; + if (date instanceof Date) + return date; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + if (format.toValue) + return format.toValue(date, format, language); + var fn_map = { + d: 'moveDay', + m: 'moveMonth', + w: 'moveWeek', + y: 'moveYear' + }, + dateAliases = { + yesterday: '-1d', + today: '+0d', + tomorrow: '+1d' + }, + parts, part, dir, i, fn; + if (date in dateAliases){ + date = dateAliases[date]; + } + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(date)){ + parts = date.match(/([\-+]\d+)([dmwy])/gi); + date = new Date(); + for (i=0; i < parts.length; i++){ + part = parts[i].match(/([\-+]\d+)([dmwy])/i); + dir = Number(part[1]); + fn = fn_map[part[2].toLowerCase()]; + date = Datepicker.prototype[fn](date, dir); + } + return Datepicker.prototype._zero_utc_time(date); + } + + parts = date && date.match(this.nonpunctuation) || []; + + function applyNearbyYear(year, threshold){ + if (threshold === true) + threshold = 10; + + // if year is 2 digits or less, than the user most likely is trying to get a recent century + if (year < 100){ + year += 2000; + // if the new year is more than threshold years in advance, use last century + if (year > ((new Date()).getFullYear()+threshold)){ + year -= 100; + } + } + + return year; + } + + var parsed = {}, + setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], + setters_map = { + yyyy: function(d,v){ + return d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v); + }, + m: function(d,v){ + if (isNaN(d)) + return d; + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + d.setUTCDate(d.getUTCDate()-1); + return d; + }, + d: function(d,v){ + return d.setUTCDate(v); + } + }, + val, filtered; + setters_map['yy'] = setters_map['yyyy']; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + date = UTCToday(); + var fparts = format.parts.slice(); + // Remove noop parts + if (parts.length !== fparts.length){ + fparts = $(fparts).filter(function(i,p){ + return $.inArray(p, setters_order) !== -1; + }).toArray(); + } + // Process remainder + function match_part(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m.toLowerCase() === p.toLowerCase(); + } + if (parts.length === fparts.length){ + var cnt; + for (i=0, cnt = fparts.length; i < cnt; i++){ + val = parseInt(parts[i], 10); + part = fparts[i]; + if (isNaN(val)){ + switch (part){ + case 'MM': + filtered = $(dates[language].months).filter(match_part); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(match_part); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + } + } + parsed[part] = val; + } + var _date, s; + for (i=0; i < setters_order.length; i++){ + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])){ + _date = new Date(date); + setters_map[s](_date, parsed[s]); + if (!isNaN(_date)) + date = _date; + } + } + } + return date; + }, + formatDate: function(date, format, language){ + if (!date) + return ''; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + if (format.toDisplay) + return format.toDisplay(date, format, language); + var val = { + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + date = []; + var seps = $.extend([], format.separators); + for (var i=0, cnt = format.parts.length; i <= cnt; i++){ + if (seps.length) + date.push(seps.shift()); + date.push(val[format.parts[i]]); + } + return date.join(''); + }, + headTemplate: '<thead>'+ + '<tr>'+ + '<th colspan="7" class="datepicker-title"></th>'+ + '</tr>'+ + '<tr>'+ + '<th class="prev">'+defaults.templates.leftArrow+'</th>'+ + '<th colspan="5" class="datepicker-switch"></th>'+ + '<th class="next">'+defaults.templates.rightArrow+'</th>'+ + '</tr>'+ + '</thead>', + contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>', + footTemplate: '<tfoot>'+ + '<tr>'+ + '<th colspan="7" class="today"></th>'+ + '</tr>'+ + '<tr>'+ + '<th colspan="7" class="clear"></th>'+ + '</tr>'+ + '</tfoot>' + }; + DPGlobal.template = '<div class="datepicker">'+ + '<div class="datepicker-days">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + '<tbody></tbody>'+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-months">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-years">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-decades">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '<div class="datepicker-centuries">'+ + '<table class="table-condensed">'+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '</table>'+ + '</div>'+ + '</div>'; + + $.fn.datepicker.DPGlobal = DPGlobal; + + + /* DATEPICKER NO CONFLICT + * =================== */ + + $.fn.datepicker.noConflict = function(){ + $.fn.datepicker = old; + return this; + }; + + /* DATEPICKER VERSION + * =================== */ + $.fn.datepicker.version = '1.9.0'; + + $.fn.datepicker.deprecated = function(msg){ + var console = window.console; + if (console && console.warn) { + console.warn('DEPRECATED: ' + msg); + } + }; + + + /* DATEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datepicker.data-api click.datepicker.data-api', + '[data-provide="datepicker"]', + function(e){ + var $this = $(this); + if ($this.data('datepicker')) + return; + e.preventDefault(); + // component click requires us to explicitly show it + datepickerPlugin.call($this, 'show'); + } + ); + $(function(){ + datepickerPlugin.call($('[data-provide="datepicker-inline"]')); + }); + +})); +/* + * Copyright 2018-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * WebSite: http://bootstrap-viewer.leftso.com + */ + +$.fn.bootstrapViewer = function (options) { + $(this).on('click', function () { + var opts = $.extend({}, $.fn.bootstrapViewer.defaults, options); + var viewer = $('<div class="modal fade bs-example-modal-lg text-center" id="bootstrapViewer" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" >\n' + + ' <div class="modal-dialog modal-lg" style="display: inline-block; width: auto;">\n' + + ' <div class="modal-content">\n' + + ' <img' + + '\t\t\t class="carousel-inner img-responsive img-rounded img-viewer" \n' + + '\t\t\t onclick="$(\'#bootstrapViewer\').modal(\'hide\');setTimeout(function(){$(\'#bootstrapViewer\').remove();},200);"\n' + + '\t\t\t onmouseover="this.style.cursor=\'zoom-out\';" \n' + + '\t\t\t onmouseout="this.style.cursor=\'default\'" \n' + + '\t\t\t />\n' + + ' </div>\n' + + ' </div>\n' + + ' </div>'); + $('body').append(viewer); + if ($(this).attr(opts.src)) { + $("#bootstrapViewer").find(".img-viewer").attr("src", $(this).attr(opts.src)); + $("#bootstrapViewer").modal(); + } else { + throw "图片不存在" + } + + }) + + $(this).on('mouseover', function () { + $(this).css('cursor', 'zoom-in'); + }) + +} +$.fn.bootstrapViewer.defaults = { + src: 'src' +} +; +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + define( ["jquery", "../jquery.validate"], factory ); + } else { + factory( jQuery ); + } +}(function( $ ) { + + /* + * Translated default messages for the jQuery validation plugin. + * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) + */ + $.extend($.validator.messages, { + required: "这是必填字段", + remote: "请修正此字段", + email: "请输入有效的电子邮件地址", + url: "请输入有效的网址", + date: "请输入有效的日期", + dateISO: "请输入有效的日期 (YYYY-MM-DD)", + number: "请输入有效的数字", + digits: "只能输入数字", + creditcard: "请输入有效的信用卡号码", + equalTo: "你的输入不相同", + extension: "请输入有效的后缀", + maxlength: $.validator.format("最多可以输入 {0} 个字符"), + minlength: $.validator.format("最少要输入 {0} 个字符"), + rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"), + range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"), + max: $.validator.format("请输入不大于 {0} 的数值"), + min: $.validator.format("请输入不小于 {0} 的数值") + }); + +})); +/*! Select2 4.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */ + + +!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); +$(document).on('turbolinks:load', function() { + var $refuseModal = $('.admin-common-refuse-modal'); + if ($refuseModal.length > 0) { + var $form = $refuseModal.find('form.admin-common-refuse-form'); + var $applyIdInput = $refuseModal.find('.modal-body input[name="apply_id"]'); + + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + reason: { + required: true, + maxlength: 200 + }, + } + }); + + // modal ready fire + $refuseModal.on('show.bs.modal', function (event) { + var $link = $(event.relatedTarget); + + var applyId = $link.data('id'); + var url = $link.data('url'); + + $applyIdInput.val(applyId); + $form.data('url', url); + }); + // modal visited fire + $refuseModal.on('shown.bs.modal', function(){ + $refuseModal.find('.modal-body input[name="reason"]').focus(); + }); + $refuseModal.on('hide.bs.modal', function () { + $applyIdInput.val(''); + $form.data('url', ''); + }) + + $refuseModal.on('click', '.submit-btn', function(){ + $form.find('.error').html(''); + + if ($form.valid()) { + var url = $form.data('url'); + + $.ajax({ + method: 'POST', + dataType: 'script', + url: url, + data: $form.serialize(), + }).done(function(){ + $refuseModal.modal('hide'); + }); + } + }); + } +}); +$(document).on('turbolinks:load', function(){ + if ($('body.admins-daily-school-statistics-index-page').length > 0) { + $('.export-action').on('click', function(){ + var form = $(".daily-school-statistic-list-form .search-form") + var exportLink = $(this); + var keyword = form.find("input[name='keyword']").val(); + + var url = exportLink.data("url").split('?')[0] + "?keyword=" + keyword; + window.open(url); + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-identity-authentications-index-page').length > 0) { + var $searchFrom = $('.identity-authentication-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-professional-authentications-index-page').length > 0) { + var $searchFrom = $('.professional-authentication-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function(){ + if ($('body.admins-school-statistics-index-page').length > 0) { + var searchForm = $(".school-statistic-list-form .search-form"); + var growFormUrl = searchForm.data('grow-form-url'); + var contrastFormUrl = searchForm.data('contrast-form-url'); + + var dataTypeInput = searchForm.find("input[name='data_type']"); + var keywordInput = searchForm.find("input[name='keyword']"); + var contrastBtn = searchForm.find(".contrast-btn"); + var growBtn = searchForm.find(".grow-btn"); + var contrastDateContainer = searchForm.find('.contrast-date-container'); + var growDateContainer = searchForm.find('.grow-date-container'); + + // 数据对比日期输入框 + var beginDateInput = searchForm.find("input[name='begin_date']"); + var endDateInput = searchForm.find("input[name='end_date']"); + var otherBeginDateInput = searchForm.find("input[name='other_begin_date']"); + var otherEndDateInput = searchForm.find("input[name='other_end_date']"); + + // 新增数据日期输入框 + var growBeginDateInput = searchForm.find("input[name='grow_begin_date']"); + var growEndDateInput = searchForm.find("input[name='grow_end_date']"); + + // 数据展示切换: 数据对比、新增数据 + searchForm.on('click', ".contrast-btn", function(){ + if(contrastBtn.hasClass("active")) { return } + changeDataType("contrast"); + submitForm(); + }); + searchForm.on('click', ".grow-btn", function(){ + if(growBtn.hasClass("active")) { return } + changeDataType("grow"); + submitForm(); + }); + + // 搜索按钮 + searchForm.on('click', ".search-btn", function(){ + console.log('submit'); + submitForm(); + }); + + $('.school-statistic-list-container').on('change', '.contrast-column-select', function() { + searchForm.find("input[name='contrast_column']").val($('.contrast-column-select').val()); + submitForm(); + }); + + var submitForm = function(){ + if(!validateFrom()) { return } + + var form = searchForm; + var url = dataTypeInput.val() == "contrast" ? contrastFormUrl : growFormUrl; + + $.ajax({ + url: url, + data: form.serialize(), + dataType: "script" + }) + }; + + var validateFrom = function(){ + if (dataTypeInput.val() != "contrast") { return true; } + + // 全部为空时,需要展示空数据页 + if (beginDateInput.val() == "" && endDateInput.val() == "" && + otherBeginDateInput.val() == "" && otherBeginDateInput.val() == "") { + return true; + } + + if (beginDateInput.val() != "" && endDateInput.val() != "" && + otherBeginDateInput.val() != "" && otherBeginDateInput.val() != "") { + return true; + } + + return false; + }; + + var changeDataType = function(dataType){ + if (dataTypeInput.val() == dataType) { return } + + if (dataType == "contrast") { + contrastBtn.addClass("active"); + growBtn.removeClass("active"); + dataTypeInput.val('contrast'); + growDateContainer.hide(); + contrastDateContainer.show(); + + clearGrowDateInput(); + } else { + contrastBtn.removeClass("active"); + growBtn.addClass("active"); + dataTypeInput.val('grow'); + growDateContainer.show(); + contrastDateContainer.hide(); + + clearContrastDateInput(); + } + }; + + var clearGrowDateInput = function() { + searchForm.find("input[name='grow_begin_date']").val(''); + searchForm.find("input[name='grow_end_date']").val(''); + searchForm.find("input[name='grow_date_input']").val(''); + }; + + var clearContrastDateInput = function(){ + searchForm.find("input[name='begin_date']").val(''); + searchForm.find("input[name='end_date']").val(''); + searchForm.find("input[name='other_begin_date']").val(''); + searchForm.find("input[name='other_end_date']").val(''); + searchForm.find("input[name='date_input']").val(''); + searchForm.find("input[name='other_date_input']").val(''); + }; + + var baseOptions = { + autoclose: true, + language: 'zh-CN', + format: 'yyyy-mm-dd', + startDate: '2017-04-01', + endDate: '-1d' + } + + var defineDateRangeSelect = function(element){ + var options = $.extend({inputs: $(element).find('.start-date, .end-date')}, baseOptions); + $(element).datepicker(options); + + $(element).find('.start-date').datepicker().on('changeDate', function(e){ + $(element).find('.end-date').datepicker('setStartDate', e.date); + }) + }; + + defineDateRangeSelect('.grow-date-input-daterange'); + defineDateRangeSelect('.date-input-daterange'); + defineDateRangeSelect('.other-date-input-daterange'); + } +}) +; +$(document).on('turbolinks:load', function() { + var $tabs = $('.search-form-container .search-form-tabs'); + if ($tabs.length > 0) { + $tabs.on('click', '.search-form-tab', function(){ + var $activeTab = $(this); + $tabs.find('.search-form-tab').removeClass('active'); + $activeTab.addClass('active'); + }); + } +}); +$(document).on('turbolinks:load', function() { + if ($('body.admins-shixun-authorizations-index-page').length > 0) { + var $searchFrom = $('.shixun-authorization-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function(){ + $('#sidebarCollapse').on('click', function () { + $(this).toggleClass('active'); + $('#sidebar').toggleClass('active'); + $.cookie('admin_sidebar_collapse', $(this).hasClass('active'), {path: '/admins'}); + }); + + var sidebarController = $('#sidebar').data('current-controller'); + if (sidebarController.length > 0) { + $('#sidebar a.active').removeClass('active'); + $('#sidebar ul.collapse.show').removeClass('show'); + var activeLi = $('#sidebar a[data-controller="' + sidebarController + '"]'); + activeLi.addClass('active'); + activeLi.parent().parent('ul.collapse').addClass('show'); + } +}); +$(document).on('turbolinks:load', function() { + if ($('body.admins-subject-authorizations-index-page').length > 0) { + var $searchFrom = $('.subject-authorization-list-form'); + + $searchFrom.on('click', '.search-form-tab', function(){ + var $link = $(this); + + $searchFrom.find('input[name="keyword"]').val(''); + $searchFrom.find('select[name="status"]').val('processed'); + + if($link.data('value') === 'processed'){ + $searchFrom.find('.status-filter').show(); + } else { + $searchFrom.find('.status-filter').hide(); + } + }); + } +}) +; +$(document).on('turbolinks:load', function() { + if ($('body.admins-users-edit-page, body.admins-users-update-page').length > 0) { + var initDepartmentSelect = true; + + // ************** 学校选择 ************* + var matcherFunc = function(params, data){ + if ($.trim(params.term) === '') { + return data; + } + if (typeof data.text === 'undefined') { + return null; + } + + if (data.name && data.name.indexOf(params.term) > -1) { + var modifiedData = $.extend({}, data, true); + return modifiedData; + } + + // Return `null` if the term should not be displayed + return null; + } + + var defineSchoolSelect = function (schools) { + $('.school-select').select2({ + theme: 'bootstrap4', + placeholder: '查询学校/单位', + minimumInputLength: 1, + data: schools, + templateResult: function (item) { + if(!item.id || item.id === '') return item.text; + return item.name; + }, + templateSelection: function(item){ + if (item.id) { + $('#user_school_id').val(item.id); + getDepartmentsData(item.id, defineDepartmentSelect2); + } + return item.name || item.text; + }, + matcher: matcherFunc + }); + }; + + var defineDepartmentSelect2 = function(departments){ + departments.unshift({ id: '-1', name: '未选择' }); // 可不选 + + if (!initDepartmentSelect) { $('.department-select').empty(); } // 为了能够回填部门 + initDepartmentSelect = false; + + $('.department-select').select2({ + theme: 'bootstrap4', + placeholder: '查询学院/部门', + minimumInputLength: 0, + data: departments, + templateResult: function (item) { + if(!item.id || item.id === '') return item.text; + return item.name; + }, + templateSelection: function(item){ + if (item.id) { + $('#user_department_id').val(item.id); + } + return item.name || item.text; + }, + matcher: matcherFunc + }); + }; + + var getDepartmentsData = function(school_id, callback){ + $.ajax({ + url: '/api/schools/' + school_id + '/departments/for_option.json', + dataType: 'json', + type: 'GET', + success: function(data) { + callback(data.departments); + } + }) + } + + // 初始化学校选择器 + $.ajax({ + url: '/api/schools/for_option.json', + dataType: 'json', + type: 'GET', + success: function(data) { + defineSchoolSelect(data.schools); + } + }); + + // **************** 地区选择 **************** + $('.province-city-select').cxSelect({ + url: '/javascripts/educoder/province-data.json', + selects: ['province-select', 'city-select'] + }); + + // *********** 职业选择 ************ + var identityData = [ + { + "v": "teacher", + "n": "教师", + "s": [{"n": "教授", "v": "教授"},{"n": "副教授", "v": "副教授"},{"n": "讲师", "v": "讲师"},{"n": "助教", "v": "助教"}] + }, + { + "v": "student", + "n": "学生", + "s": [] + }, + { + "v": "professional", + "n": "专业人士", + "s": [{"n": "企业管理者", "v": "企业管理者"},{"n": "部门管理者", "v": "部门管理者"},{"n": "高级工程师", "v": "高级工程师"},{"n": "工程师", "v": "工程师"},{"n": "助理工程师", "v": "助理工程师"}] + } + ]; + $('.user-identity-select').cxSelect({ + data: identityData, + jsonValue: 'v', + selects: ['identity-select', 'technical-title-select'] + }); + $('.identity-select').on('change', function(){ + if($(this).val() === 'student'){ + $('.technical-title-select-wrapper').hide(); + $('.form-group.user_student_id').show(); + } else { + $('.technical-title-select-wrapper').show(); + $('.form-group.user_student_id').hide(); + } + }) + + + var $form = $('form.edit_user') + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + "user[password]": { + required: false, + minlength: 5 + }, + "user[password_confirmation]": { + required: false, + minlength: 5, + equalTo: "#user_password" + }, + }, + messages: { + "user[password_confirmation]": { + equalTo: "两次密码输入不一致" + } + } + }) + + $form.submit(function(e){ + if(!$form.valid()){ e.preventDefault(); } + }) + } +}); +$(document).on('turbolinks:load', function(){ + if ($('body.admins-users-index-page').length > 0) { + + var showSuccessNotify = function() { + $.notify({ + message: '操作成功' + },{ + type: 'success' + }); + } + + // lock user + $('.users-list-container').on('click', '.lock-action', function(){ + var $lockAction = $(this); + var $unlockAction = $lockAction.siblings('.unlock-action'); + + var userId = $lockAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/lock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $lockAction.hide(); + $unlockAction.show(); + } + }); + }); + + // unlock user + $('.users-list-container').on('click', '.unlock-action', function(){ + var $unlockAction = $(this); + var $lockAction = $unlockAction.siblings('.lock-action'); + + var userId = $unlockAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/unlock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $lockAction.show(); + $unlockAction.hide(); + } + }); + }); + + // active user + $('.users-list-container').on('click', '.active-action', function(){ + var $activeAction = $(this); + var $unlockAction = $activeAction.siblings('.unlock-action'); + var $lockAction = $activeAction.siblings('.lock-action'); + + var userId = $activeAction.data('id'); + + $.ajax({ + url: '/admins/users/' + userId + '/unlock', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $activeAction.hide(); + $lockAction.show(); + $unlockAction.hide(); + } + }); + }); + + // ***************** reward grade modal ***************** + var $rewardGradeModal = $('.admin-users-reward-grade-modal'); + var $form = $rewardGradeModal.find('form.admin-users-reward-grade-form'); + + $form.validate({ + errorElement: 'span', + errorClass: 'danger text-danger', + rules: { + grade: { + required: true, + digits: true + }, + } + }); + + // modal ready fire + $rewardGradeModal.on('show.bs.modal', function (event) { + var $link = $(event.relatedTarget); + + var userId = $link.data('id'); + $rewardGradeModal.find('.modal-body input[name="user_id"]').val(userId); + }); + // modal visited fire + $rewardGradeModal.on('shown.bs.modal', function(){ + $rewardGradeModal.find('.modal-body input[name="grade"]').focus(); + }); + + $('.admin-users-reward-grade-modal .submit-btn').on('click', function(){ + $form.find('.error').html(''); + + if ($form.valid()) { + var userId = $form.find('input[name="user_id"]').val(); + + $.ajax({ + method: 'POST', + dataType: 'json', + url: "/admins/users/" + userId + "/reward_grade", + data: $form.serialize(), + success: function(data) { + showSuccessNotify(); + $('.users-list-container .user-item-' + userId + ' td.grade-content').html(data.grade); + $rewardGradeModal.modal('hide'); + }, + error: function(res) { + $rewardGradeModal.find('.error').html(res.responseJSON.message); + } + }); + } + }); + } +}); + + + + + + + + + + + + + + + + + + +// ******** select2 global config ******** +$.fn.select2.defaults.set('theme', 'bootstrap4'); +$.fn.select2.defaults.set('language', 'zh-CN'); + +Turbolinks.setProgressBarDelay(200); + +$(document).on('turbolinks:load', function(){ + $('[data-toggle="tooltip"]').tooltip(); + $('[data-toggle="popover"]').popover(); + + // 图片查看大图 + $('img.preview-image').bootstrapViewer(); + + // flash alert提示框自动关闭 + if($('.admin-alert-container .alert').length > 0){ + setTimeout(function(){ + $('.admin-alert-container .alert').alert('close'); + }, 2000); + } +}); + +// var progressBar = new Turbolinks.ProgressBar(); + +// $(document).on('ajax:send', function(event){ +// console.log('ajax send', event); +// progressBar.setValue(0) +// progressBar.show() +// }); +// +// $(document).on('ajax:complete', function(event){ +// console.log('ajax complete', event); +// progressBar.setValue(1) +// progressBar.hide() // 分页时不触发,奇怪 +// }); +// $(document).on('ajax:success', function(event){ +// console.log('ajax success', event); +// }); +// $(document).on('ajax:error', function(event){ +// console.log('ajax error', event); +// }); + +$(function () { +}); +/* Project: Bootstrap Growl = v3.1.3 | Description: Turns standard Bootstrap alerts into "Growl-like" notifications. | Author: Mouse0270 aka Robert McIntosh | License: MIT License | Website: https://github.com/mouse0270/bootstrap-growl */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){function e(e,i,n){var i={content:{message:"object"==typeof i?i.message:i,title:i.title?i.title:"",icon:i.icon?i.icon:"",url:i.url?i.url:"#",target:i.target?i.target:"-"}};n=t.extend(!0,{},i,n),this.settings=t.extend(!0,{},s,n),this._defaults=s,"-"==this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),this.init()}var s={element:"body",position:null,type:"info",allow_dismiss:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:"class",template:'<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'};String.format=function(){for(var t=arguments[0],e=1;e<arguments.length;e++)t=t.replace(RegExp("\\{"+(e-1)+"\\}","gm"),arguments[e]);return t},t.extend(e.prototype,{init:function(){var t=this;this.buildNotify(),this.settings.content.icon&&this.setIcon(),"#"!=this.settings.content.url&&this.styleURL(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(e,s){var i={};"string"==typeof e?i[e]=s:i=e;for(var e in i)switch(e){case"type":this.$ele.removeClass("alert-"+t.settings.type),this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-"+t.settings.type),t.settings.type=i[e],this.$ele.addClass("alert-"+i[e]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+i[e]);break;case"icon":var n=this.$ele.find('[data-notify="icon"]');"class"==t.settings.icon_type.toLowerCase()?n.removeClass(t.settings.content.icon).addClass(i[e]):(n.is("img")||n.find("img"),n.attr("src",i[e]));break;case"progress":var a=t.settings.delay-t.settings.delay*(i[e]/100);this.$ele.data("notify-delay",a),this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i[e]).css("width",i[e]+"%");break;case"url":this.$ele.find('[data-notify="url"]').attr("href",i[e]);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",i[e]);break;default:this.$ele.find('[data-notify="'+e+'"]').html(i[e])}var o=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(o)},close:function(){t.close()}}},buildNotify:function(){var e=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,e.title,e.message,e.url,e.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),(this.settings.delay<=0&&!this.settings.showProgressbar||!this.settings.showProgressbar)&&this.$ele.find('[data-notify="progressbar"]').remove()},setIcon:function(){"class"==this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('<img src="'+this.settings.content.icon+'" alt="Notify Icon" />')},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:"0px",position:"absolute",top:"0px",width:"100%",zIndex:this.settings.z_index+1}),this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},placement:function(){var e=this,s=this.settings.offset.y,i={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){return s=Math.max(s,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),1==this.settings.newest_on_top&&(s=this.settings.offset.y),i[this.settings.placement.from]=s+"px",this.settings.placement.align){case"left":case"right":i[this.settings.placement.align]=this.settings.offset.x+"px";break;case"center":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t.each(Array("webkit","moz","o","ms",""),function(t,s){e.$ele[0].style[s+"AnimationIterationCount"]=1}),t(this.settings.element).append(this.$ele),1==this.settings.newest_on_top&&(s=parseInt(s)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(s)),t.isFunction(e.settings.onShow)&&e.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)},600)},bind:function(){var e=this;if(this.$ele.find('[data-notify="dismiss"]').on("click",function(){e.close()}),this.$ele.mouseover(function(){t(this).data("data-hover","true")}).mouseout(function(){t(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0){e.$ele.data("notify-delay",e.settings.delay);var s=setInterval(function(){var t=parseInt(e.$ele.data("notify-delay"))-e.settings.timer;if("false"===e.$ele.data("data-hover")&&"pause"==e.settings.mouse_over||"pause"!=e.settings.mouse_over){var i=(e.settings.delay-t)/e.settings.delay*100;e.$ele.data("notify-delay",t),e.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i).css("width",i+"%")}t<=-e.settings.timer&&(clearInterval(s),e.close())},e.settings.timer)}},close:function(){var e=this,s=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.data("closing","true").addClass(this.settings.animate.exit),e.reposition(s),t.isFunction(e.settings.onClose)&&e.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(e.settings.onClosed)&&e.settings.onClosed.call(this)}),setTimeout(function(){i||(e.$ele.remove(),e.settings.onClosed&&e.settings.onClosed(e.$ele))},600)},reposition:function(e){var s=this,i='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',n=this.$ele.nextAll(i);1==this.settings.newest_on_top&&(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(s.settings.placement.from,e),e=parseInt(e)+parseInt(s.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(e){return s=t.extend(!0,{},s,e)},t.notifyClose=function(e){"undefined"==typeof e||"all"==e?t("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):t('[data-notify-position="'+e+'"]').find('[data-notify="dismiss"]').trigger("click")}}); +/*! + * jQuery cxSelect + * @name jquery.cxselect.js + * @version 1.4.1 + * @date 2016-11-02 + * @author ciaoca + * @email ciaoca@gmail.com + * @site https://github.com/ciaoca/cxSelect + * @license Released under the MIT license + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(window.jQuery||window.Zepto||window.$)}(function(a){var b=function(){var d,e,f,g,h,i;for(g=0,h=arguments.length;h>g;g++)b.isJquery(arguments[g])||b.isZepto(arguments[g])?d=arguments[g]:b.isElement(arguments[g])?d=a(arguments[g]):"function"==typeof arguments[g]?f=arguments[g]:"object"==typeof arguments[g]&&(e=arguments[g]);return i=new b.init(d,e),"function"==typeof f&&f(i),i};b.isElement=function(a){return a&&("function"==typeof HTMLElement||"object"==typeof HTMLElement)&&a instanceof HTMLElement?!0:a&&a.nodeType&&1===a.nodeType?!0:!1},b.isJquery=function(a){return a&&a.length&&("function"==typeof jQuery||"object"==typeof jQuery)&&a instanceof jQuery?!0:!1},b.isZepto=function(a){return a&&a.length&&("function"==typeof Zepto||"object"==typeof Zepto)&&Zepto.zepto.isZ(a)?!0:!1},b.getIndex=function(a,b){return b?a:a-1},b.getData=function(a,b){if("string"==typeof b&&b.length){b=b.split(".");for(var c=0,d=b.length;d>c;c++)a=a[b[c]]}return a},b.init=function(c,d){var f,g,e=this;(b.isJquery(c)||b.isZepto(c))&&(f={dom:{box:c}},e.attach=b.attach.bind(f),e.detach=b.detach.bind(f),e.setOptions=b.setOptions.bind(f),e.clear=b.clear.bind(f),f.changeEvent=function(){b.selectChange.call(f,this.className)},f.settings=a.extend({},a.cxSelect.defaults,d,{url:f.dom.box.data("url"),emptyStyle:f.dom.box.data("emptyStyle"),required:f.dom.box.data("required"),firstTitle:f.dom.box.data("firstTitle"),firstValue:f.dom.box.data("firstValue"),jsonSpace:f.dom.box.data("jsonSpace"),jsonName:f.dom.box.data("jsonName"),jsonValue:f.dom.box.data("jsonValue"),jsonSub:f.dom.box.data("jsonSub")}),g=f.dom.box.data("selects"),"string"==typeof g&&g.length&&(f.settings.selects=g.split(",")),e.setOptions(),e.attach(),f.settings.url||f.settings.data?a.isArray(f.settings.data)?b.start.call(f,f.settings.data):"string"==typeof f.settings.url&&f.settings.url.length&&a.getJSON(f.settings.url,function(a){b.start.call(f,a)}):b.start.apply(f))},b.setOptions=function(c){var e,f,g,d=this;if(c&&a.extend(d.settings,c),(!a.isArray(d.selectArray)||!d.selectArray.length||c&&c.selects)&&(d.selectArray=[],a.isArray(d.settings.selects)&&d.settings.selects.length))for(f=0,g=d.settings.selects.length;g>f&&(e=d.dom.box.find("select."+d.settings.selects[f]),e&&e.length);f++)d.selectArray.push(e);c&&(!a.isArray(c.data)&&"string"==typeof c.url&&c.url.length?a.getJSON(d.settings.url,function(a){b.start.call(d,a)}):b.start.call(d,c.data))},b.attach=function(){var a=this;a.attachStatus||a.dom.box.on("change","select",a.changeEvent),"boolean"==typeof a.attachStatus&&b.start.call(a),a.attachStatus=!0},b.detach=function(){var a=this;a.dom.box.off("change","select",a.changeEvent),a.attachStatus=!1},b.clear=function(a){var d,e,b=this,c={display:"",visibility:""};for(a=isNaN(a)?0:a,d=a,e=b.selectArray.length;e>d;d++)b.selectArray[d].empty().prop("disabled",!0),"none"===b.settings.emptyStyle?c.display="none":"hidden"===b.settings.emptyStyle&&(c.visibility="hidden"),b.selectArray[d].css(c)},b.start=function(c){var e,f,d=this;if(a.isArray(c)&&(d.settings.data=b.getData(c,d.settings.jsonSpace)),d.selectArray.length){for(e=0,f=d.selectArray.length;f>e;e++)"string"!=typeof d.selectArray[e].attr("data-value")&&d.selectArray[e][0].options.length&&d.selectArray[e].attr("data-value",d.selectArray[e].val());d.settings.data||"string"==typeof d.selectArray[0].data("url")&&d.selectArray[0].data("url").length?b.getOptionData.call(d,0):d.selectArray[0].prop("disabled",!1).css({display:"",visibility:""})}},b.getOptionData=function(c){var f,g,h,i,j,k,l,m,n,o,p,d=this;if(!("number"!=typeof c||isNaN(c)||0>c||c>=d.selectArray.length))if(f=d.selectArray[c],i=f.data("url"),j="undefined"==typeof f.data("jsonSpace")?d.settings.jsonSpace:f.data("jsonSpace"),k={},b.clear.call(d,c),"string"==typeof i&&i.length){if(c>0)for(o=0,p=1;c>o;o++,p++)l=d.selectArray[p].data("queryName"),m=d.selectArray[o].attr("name"),n=d.selectArray[o].val(),"string"==typeof l&&l.length?k[l]=n:"string"==typeof m&&m.length&&(k[m]=n);a.getJSON(i,k,function(a){g=b.getData(a,j),b.buildOption.call(d,c,g)})}else if(d.settings.data&&"object"==typeof d.settings.data){for(g=d.settings.data,o=0;c>o;o++){if(h=b.getIndex(d.selectArray[o][0].selectedIndex,"boolean"==typeof d.selectArray[o].data("required")?d.selectArray[o].data("required"):d.settings.required),"object"!=typeof g[h]||!a.isArray(g[h][d.settings.jsonSub])||!g[h][d.settings.jsonSub].length){g=null;break}g=g[h][d.settings.jsonSub]}b.buildOption.call(d,c,g)}},b.buildOption=function(b,c){var k,l,m,d=this,e=d.selectArray[b],f="boolean"==typeof e.data("required")?e.data("required"):d.settings.required,g="undefined"==typeof e.data("firstTitle")?d.settings.firstTitle:e.data("firstTitle"),h="undefined"==typeof e.data("firstValue")?d.settings.firstValue:e.data("firstValue"),i="undefined"==typeof e.data("jsonName")?d.settings.jsonName:e.data("jsonName"),j="undefined"==typeof e.data("jsonValue")?d.settings.jsonValue:e.data("jsonValue");if(a.isArray(c)){if(k=f?"":'<option value="'+String(h)+'">'+String(g)+"</option>","string"==typeof i&&i.length)for("string"==typeof j&&j.length||(j=i),l=0,m=c.length;m>l;l++)k+='<option value="'+String(c[l][j])+'">'+String(c[l][i])+"</option>";else for(l=0,m=c.length;m>l;l++)k+='<option value="'+String(c[l])+'">'+String(c[l])+"</option>";e.html(k).prop("disabled",!1).css({display:"",visibility:""}),"string"==typeof e.attr("data-value")&&(e.val(String(e.attr("data-value"))).removeAttr("data-value"),e[0].selectedIndex<0&&(e[0].options[0].selected=!0)),(f||e[0].selectedIndex>0)&&e.trigger("change")}},b.selectChange=function(a){var d,e,f,c=this;if("string"==typeof a&&a.length){for(a=a.replace(/\s+/g,","),a=","+a+",",e=0,f=c.selectArray.length;f>e;e++)if(a.indexOf(","+c.settings.selects[e]+",")>-1){d=e;break}"number"==typeof d&&d>-1&&(d+=1,b.getOptionData.call(c,d))}},a.cxSelect=function(){return b.apply(this,arguments)},a.cxSelect.defaults={selects:[],url:null,data:null,emptyStyle:null,required:!1,firstTitle:"请选择",firstValue:"",jsonSpace:"",jsonName:"n",jsonValue:"",jsonSub:"s"},a.fn.cxSelect=function(b,c){return this.each(function(){a.cxSelect(this,b,c)}),this}}); +/*! + * jQuery Validation Plugin v1.19.1 + * + * https://jqueryvalidation.org/ + * + * Copyright (c) 2019 Jörn Zaefferer + * Released under the MIT license + */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + define( ["jquery"], factory ); + } else if (typeof module === "object" && module.exports) { + module.exports = factory( require( "jquery" ) ); + } else { + factory( jQuery ); + } +}(function( $ ) { + +$.extend( $.fn, { + + // https://jqueryvalidation.org/validate/ + validate: function( options ) { + + // If nothing is selected, return nothing; can't chain anyway + if ( !this.length ) { + if ( options && options.debug && window.console ) { + console.warn( "Nothing selected, can't validate, returning nothing." ); + } + return; + } + + // Check if a validator for this form was already created + var validator = $.data( this[ 0 ], "validator" ); + if ( validator ) { + return validator; + } + + // Add novalidate tag if HTML5. + this.attr( "novalidate", "novalidate" ); + + validator = new $.validator( options, this[ 0 ] ); + $.data( this[ 0 ], "validator", validator ); + + if ( validator.settings.onsubmit ) { + + this.on( "click.validate", ":submit", function( event ) { + + // Track the used submit button to properly handle scripted + // submits later. + validator.submitButton = event.currentTarget; + + // Allow suppressing validation by adding a cancel class to the submit button + if ( $( this ).hasClass( "cancel" ) ) { + validator.cancelSubmit = true; + } + + // Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button + if ( $( this ).attr( "formnovalidate" ) !== undefined ) { + validator.cancelSubmit = true; + } + } ); + + // Validate the form on submit + this.on( "submit.validate", function( event ) { + if ( validator.settings.debug ) { + + // Prevent form submit to be able to see console output + event.preventDefault(); + } + + function handle() { + var hidden, result; + + // Insert a hidden input as a replacement for the missing submit button + // The hidden input is inserted in two cases: + // - A user defined a `submitHandler` + // - There was a pending request due to `remote` method and `stopRequest()` + // was called to submit the form in case it's valid + if ( validator.submitButton && ( validator.settings.submitHandler || validator.formSubmitted ) ) { + hidden = $( "<input type='hidden'/>" ) + .attr( "name", validator.submitButton.name ) + .val( $( validator.submitButton ).val() ) + .appendTo( validator.currentForm ); + } + + if ( validator.settings.submitHandler && !validator.settings.debug ) { + result = validator.settings.submitHandler.call( validator, validator.currentForm, event ); + if ( hidden ) { + + // And clean up afterwards; thanks to no-block-scope, hidden can be referenced + hidden.remove(); + } + if ( result !== undefined ) { + return result; + } + return false; + } + return true; + } + + // Prevent submit for invalid forms or custom submit handlers + if ( validator.cancelSubmit ) { + validator.cancelSubmit = false; + return handle(); + } + if ( validator.form() ) { + if ( validator.pendingRequest ) { + validator.formSubmitted = true; + return false; + } + return handle(); + } else { + validator.focusInvalid(); + return false; + } + } ); + } + + return validator; + }, + + // https://jqueryvalidation.org/valid/ + valid: function() { + var valid, validator, errorList; + + if ( $( this[ 0 ] ).is( "form" ) ) { + valid = this.validate().form(); + } else { + errorList = []; + valid = true; + validator = $( this[ 0 ].form ).validate(); + this.each( function() { + valid = validator.element( this ) && valid; + if ( !valid ) { + errorList = errorList.concat( validator.errorList ); + } + } ); + validator.errorList = errorList; + } + return valid; + }, + + // https://jqueryvalidation.org/rules/ + rules: function( command, argument ) { + var element = this[ 0 ], + isContentEditable = typeof this.attr( "contenteditable" ) !== "undefined" && this.attr( "contenteditable" ) !== "false", + settings, staticRules, existingRules, data, param, filtered; + + // If nothing is selected, return empty object; can't chain anyway + if ( element == null ) { + return; + } + + if ( !element.form && isContentEditable ) { + element.form = this.closest( "form" )[ 0 ]; + element.name = this.attr( "name" ); + } + + if ( element.form == null ) { + return; + } + + if ( command ) { + settings = $.data( element.form, "validator" ).settings; + staticRules = settings.rules; + existingRules = $.validator.staticRules( element ); + switch ( command ) { + case "add": + $.extend( existingRules, $.validator.normalizeRule( argument ) ); + + // Remove messages from rules, but allow them to be set separately + delete existingRules.messages; + staticRules[ element.name ] = existingRules; + if ( argument.messages ) { + settings.messages[ element.name ] = $.extend( settings.messages[ element.name ], argument.messages ); + } + break; + case "remove": + if ( !argument ) { + delete staticRules[ element.name ]; + return existingRules; + } + filtered = {}; + $.each( argument.split( /\s/ ), function( index, method ) { + filtered[ method ] = existingRules[ method ]; + delete existingRules[ method ]; + } ); + return filtered; + } + } + + data = $.validator.normalizeRules( + $.extend( + {}, + $.validator.classRules( element ), + $.validator.attributeRules( element ), + $.validator.dataRules( element ), + $.validator.staticRules( element ) + ), element ); + + // Make sure required is at front + if ( data.required ) { + param = data.required; + delete data.required; + data = $.extend( { required: param }, data ); + } + + // Make sure remote is at back + if ( data.remote ) { + param = data.remote; + delete data.remote; + data = $.extend( data, { remote: param } ); + } + + return data; + } +} ); + +// Custom selectors +$.extend( $.expr.pseudos || $.expr[ ":" ], { // '|| $.expr[ ":" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support + + // https://jqueryvalidation.org/blank-selector/ + blank: function( a ) { + return !$.trim( "" + $( a ).val() ); + }, + + // https://jqueryvalidation.org/filled-selector/ + filled: function( a ) { + var val = $( a ).val(); + return val !== null && !!$.trim( "" + val ); + }, + + // https://jqueryvalidation.org/unchecked-selector/ + unchecked: function( a ) { + return !$( a ).prop( "checked" ); + } +} ); + +// Constructor for validator +$.validator = function( options, form ) { + this.settings = $.extend( true, {}, $.validator.defaults, options ); + this.currentForm = form; + this.init(); +}; + +// https://jqueryvalidation.org/jQuery.validator.format/ +$.validator.format = function( source, params ) { + if ( arguments.length === 1 ) { + return function() { + var args = $.makeArray( arguments ); + args.unshift( source ); + return $.validator.format.apply( this, args ); + }; + } + if ( params === undefined ) { + return source; + } + if ( arguments.length > 2 && params.constructor !== Array ) { + params = $.makeArray( arguments ).slice( 1 ); + } + if ( params.constructor !== Array ) { + params = [ params ]; + } + $.each( params, function( i, n ) { + source = source.replace( new RegExp( "\\{" + i + "\\}", "g" ), function() { + return n; + } ); + } ); + return source; +}; + +$.extend( $.validator, { + + defaults: { + messages: {}, + groups: {}, + rules: {}, + errorClass: "error", + pendingClass: "pending", + validClass: "valid", + errorElement: "label", + focusCleanup: false, + focusInvalid: true, + errorContainer: $( [] ), + errorLabelContainer: $( [] ), + onsubmit: true, + ignore: ":hidden", + ignoreTitle: false, + onfocusin: function( element ) { + this.lastActive = element; + + // Hide error label and remove error class on focus if enabled + if ( this.settings.focusCleanup ) { + if ( this.settings.unhighlight ) { + this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass ); + } + this.hideThese( this.errorsFor( element ) ); + } + }, + onfocusout: function( element ) { + if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) { + this.element( element ); + } + }, + onkeyup: function( element, event ) { + + // Avoid revalidate the field when pressing one of the following keys + // Shift => 16 + // Ctrl => 17 + // Alt => 18 + // Caps lock => 20 + // End => 35 + // Home => 36 + // Left arrow => 37 + // Up arrow => 38 + // Right arrow => 39 + // Down arrow => 40 + // Insert => 45 + // Num lock => 144 + // AltGr key => 225 + var excludedKeys = [ + 16, 17, 18, 20, 35, 36, 37, + 38, 39, 40, 45, 144, 225 + ]; + + if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) { + return; + } else if ( element.name in this.submitted || element.name in this.invalid ) { + this.element( element ); + } + }, + onclick: function( element ) { + + // Click on selects, radiobuttons and checkboxes + if ( element.name in this.submitted ) { + this.element( element ); + + // Or option elements, check parent select in that case + } else if ( element.parentNode.name in this.submitted ) { + this.element( element.parentNode ); + } + }, + highlight: function( element, errorClass, validClass ) { + if ( element.type === "radio" ) { + this.findByName( element.name ).addClass( errorClass ).removeClass( validClass ); + } else { + $( element ).addClass( errorClass ).removeClass( validClass ); + } + }, + unhighlight: function( element, errorClass, validClass ) { + if ( element.type === "radio" ) { + this.findByName( element.name ).removeClass( errorClass ).addClass( validClass ); + } else { + $( element ).removeClass( errorClass ).addClass( validClass ); + } + } + }, + + // https://jqueryvalidation.org/jQuery.validator.setDefaults/ + setDefaults: function( settings ) { + $.extend( $.validator.defaults, settings ); + }, + + messages: { + required: "This field is required.", + remote: "Please fix this field.", + email: "Please enter a valid email address.", + url: "Please enter a valid URL.", + date: "Please enter a valid date.", + dateISO: "Please enter a valid date (ISO).", + number: "Please enter a valid number.", + digits: "Please enter only digits.", + equalTo: "Please enter the same value again.", + maxlength: $.validator.format( "Please enter no more than {0} characters." ), + minlength: $.validator.format( "Please enter at least {0} characters." ), + rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ), + range: $.validator.format( "Please enter a value between {0} and {1}." ), + max: $.validator.format( "Please enter a value less than or equal to {0}." ), + min: $.validator.format( "Please enter a value greater than or equal to {0}." ), + step: $.validator.format( "Please enter a multiple of {0}." ) + }, + + autoCreateRanges: false, + + prototype: { + + init: function() { + this.labelContainer = $( this.settings.errorLabelContainer ); + this.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm ); + this.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer ); + this.submitted = {}; + this.valueCache = {}; + this.pendingRequest = 0; + this.pending = {}; + this.invalid = {}; + this.reset(); + + var currentForm = this.currentForm, + groups = ( this.groups = {} ), + rules; + $.each( this.settings.groups, function( key, value ) { + if ( typeof value === "string" ) { + value = value.split( /\s/ ); + } + $.each( value, function( index, name ) { + groups[ name ] = key; + } ); + } ); + rules = this.settings.rules; + $.each( rules, function( key, value ) { + rules[ key ] = $.validator.normalizeRule( value ); + } ); + + function delegate( event ) { + var isContentEditable = typeof $( this ).attr( "contenteditable" ) !== "undefined" && $( this ).attr( "contenteditable" ) !== "false"; + + // Set form expando on contenteditable + if ( !this.form && isContentEditable ) { + this.form = $( this ).closest( "form" )[ 0 ]; + this.name = $( this ).attr( "name" ); + } + + // Ignore the element if it belongs to another form. This will happen mainly + // when setting the `form` attribute of an input to the id of another form. + if ( currentForm !== this.form ) { + return; + } + + var validator = $.data( this.form, "validator" ), + eventType = "on" + event.type.replace( /^validate/, "" ), + settings = validator.settings; + if ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) { + settings[ eventType ].call( validator, this, event ); + } + } + + $( this.currentForm ) + .on( "focusin.validate focusout.validate keyup.validate", + ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " + + "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " + + "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " + + "[type='radio'], [type='checkbox'], [contenteditable], [type='button']", delegate ) + + // Support: Chrome, oldIE + // "select" is provided as event.target when clicking a option + .on( "click.validate", "select, option, [type='radio'], [type='checkbox']", delegate ); + + if ( this.settings.invalidHandler ) { + $( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler ); + } + }, + + // https://jqueryvalidation.org/Validator.form/ + form: function() { + this.checkForm(); + $.extend( this.submitted, this.errorMap ); + this.invalid = $.extend( {}, this.errorMap ); + if ( !this.valid() ) { + $( this.currentForm ).triggerHandler( "invalid-form", [ this ] ); + } + this.showErrors(); + return this.valid(); + }, + + checkForm: function() { + this.prepareForm(); + for ( var i = 0, elements = ( this.currentElements = this.elements() ); elements[ i ]; i++ ) { + this.check( elements[ i ] ); + } + return this.valid(); + }, + + // https://jqueryvalidation.org/Validator.element/ + element: function( element ) { + var cleanElement = this.clean( element ), + checkElement = this.validationTargetFor( cleanElement ), + v = this, + result = true, + rs, group; + + if ( checkElement === undefined ) { + delete this.invalid[ cleanElement.name ]; + } else { + this.prepareElement( checkElement ); + this.currentElements = $( checkElement ); + + // If this element is grouped, then validate all group elements already + // containing a value + group = this.groups[ checkElement.name ]; + if ( group ) { + $.each( this.groups, function( name, testgroup ) { + if ( testgroup === group && name !== checkElement.name ) { + cleanElement = v.validationTargetFor( v.clean( v.findByName( name ) ) ); + if ( cleanElement && cleanElement.name in v.invalid ) { + v.currentElements.push( cleanElement ); + result = v.check( cleanElement ) && result; + } + } + } ); + } + + rs = this.check( checkElement ) !== false; + result = result && rs; + if ( rs ) { + this.invalid[ checkElement.name ] = false; + } else { + this.invalid[ checkElement.name ] = true; + } + + if ( !this.numberOfInvalids() ) { + + // Hide error containers on last error + this.toHide = this.toHide.add( this.containers ); + } + this.showErrors(); + + // Add aria-invalid status for screen readers + $( element ).attr( "aria-invalid", !rs ); + } + + return result; + }, + + // https://jqueryvalidation.org/Validator.showErrors/ + showErrors: function( errors ) { + if ( errors ) { + var validator = this; + + // Add items to error list and map + $.extend( this.errorMap, errors ); + this.errorList = $.map( this.errorMap, function( message, name ) { + return { + message: message, + element: validator.findByName( name )[ 0 ] + }; + } ); + + // Remove items from success list + this.successList = $.grep( this.successList, function( element ) { + return !( element.name in errors ); + } ); + } + if ( this.settings.showErrors ) { + this.settings.showErrors.call( this, this.errorMap, this.errorList ); + } else { + this.defaultShowErrors(); + } + }, + + // https://jqueryvalidation.org/Validator.resetForm/ + resetForm: function() { + if ( $.fn.resetForm ) { + $( this.currentForm ).resetForm(); + } + this.invalid = {}; + this.submitted = {}; + this.prepareForm(); + this.hideErrors(); + var elements = this.elements() + .removeData( "previousValue" ) + .removeAttr( "aria-invalid" ); + + this.resetElements( elements ); + }, + + resetElements: function( elements ) { + var i; + + if ( this.settings.unhighlight ) { + for ( i = 0; elements[ i ]; i++ ) { + this.settings.unhighlight.call( this, elements[ i ], + this.settings.errorClass, "" ); + this.findByName( elements[ i ].name ).removeClass( this.settings.validClass ); + } + } else { + elements + .removeClass( this.settings.errorClass ) + .removeClass( this.settings.validClass ); + } + }, + + numberOfInvalids: function() { + return this.objectLength( this.invalid ); + }, + + objectLength: function( obj ) { + /* jshint unused: false */ + var count = 0, + i; + for ( i in obj ) { + + // This check allows counting elements with empty error + // message as invalid elements + if ( obj[ i ] !== undefined && obj[ i ] !== null && obj[ i ] !== false ) { + count++; + } + } + return count; + }, + + hideErrors: function() { + this.hideThese( this.toHide ); + }, + + hideThese: function( errors ) { + errors.not( this.containers ).text( "" ); + this.addWrapper( errors ).hide(); + }, + + valid: function() { + return this.size() === 0; + }, + + size: function() { + return this.errorList.length; + }, + + focusInvalid: function() { + if ( this.settings.focusInvalid ) { + try { + $( this.findLastActive() || this.errorList.length && this.errorList[ 0 ].element || [] ) + .filter( ":visible" ) + .trigger( "focus" ) + + // Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find + .trigger( "focusin" ); + } catch ( e ) { + + // Ignore IE throwing errors when focusing hidden elements + } + } + }, + + findLastActive: function() { + var lastActive = this.lastActive; + return lastActive && $.grep( this.errorList, function( n ) { + return n.element.name === lastActive.name; + } ).length === 1 && lastActive; + }, + + elements: function() { + var validator = this, + rulesCache = {}; + + // Select all valid inputs inside the form (no submit or reset buttons) + return $( this.currentForm ) + .find( "input, select, textarea, [contenteditable]" ) + .not( ":submit, :reset, :image, :disabled" ) + .not( this.settings.ignore ) + .filter( function() { + var name = this.name || $( this ).attr( "name" ); // For contenteditable + var isContentEditable = typeof $( this ).attr( "contenteditable" ) !== "undefined" && $( this ).attr( "contenteditable" ) !== "false"; + + if ( !name && validator.settings.debug && window.console ) { + console.error( "%o has no name assigned", this ); + } + + // Set form expando on contenteditable + if ( isContentEditable ) { + this.form = $( this ).closest( "form" )[ 0 ]; + this.name = name; + } + + // Ignore elements that belong to other/nested forms + if ( this.form !== validator.currentForm ) { + return false; + } + + // Select only the first element for each name, and only those with rules specified + if ( name in rulesCache || !validator.objectLength( $( this ).rules() ) ) { + return false; + } + + rulesCache[ name ] = true; + return true; + } ); + }, + + clean: function( selector ) { + return $( selector )[ 0 ]; + }, + + errors: function() { + var errorClass = this.settings.errorClass.split( " " ).join( "." ); + return $( this.settings.errorElement + "." + errorClass, this.errorContext ); + }, + + resetInternals: function() { + this.successList = []; + this.errorList = []; + this.errorMap = {}; + this.toShow = $( [] ); + this.toHide = $( [] ); + }, + + reset: function() { + this.resetInternals(); + this.currentElements = $( [] ); + }, + + prepareForm: function() { + this.reset(); + this.toHide = this.errors().add( this.containers ); + }, + + prepareElement: function( element ) { + this.reset(); + this.toHide = this.errorsFor( element ); + }, + + elementValue: function( element ) { + var $element = $( element ), + type = element.type, + isContentEditable = typeof $element.attr( "contenteditable" ) !== "undefined" && $element.attr( "contenteditable" ) !== "false", + val, idx; + + if ( type === "radio" || type === "checkbox" ) { + return this.findByName( element.name ).filter( ":checked" ).val(); + } else if ( type === "number" && typeof element.validity !== "undefined" ) { + return element.validity.badInput ? "NaN" : $element.val(); + } + + if ( isContentEditable ) { + val = $element.text(); + } else { + val = $element.val(); + } + + if ( type === "file" ) { + + // Modern browser (chrome & safari) + if ( val.substr( 0, 12 ) === "C:\\fakepath\\" ) { + return val.substr( 12 ); + } + + // Legacy browsers + // Unix-based path + idx = val.lastIndexOf( "/" ); + if ( idx >= 0 ) { + return val.substr( idx + 1 ); + } + + // Windows-based path + idx = val.lastIndexOf( "\\" ); + if ( idx >= 0 ) { + return val.substr( idx + 1 ); + } + + // Just the file name + return val; + } + + if ( typeof val === "string" ) { + return val.replace( /\r/g, "" ); + } + return val; + }, + + check: function( element ) { + element = this.validationTargetFor( this.clean( element ) ); + + var rules = $( element ).rules(), + rulesCount = $.map( rules, function( n, i ) { + return i; + } ).length, + dependencyMismatch = false, + val = this.elementValue( element ), + result, method, rule, normalizer; + + // Prioritize the local normalizer defined for this element over the global one + // if the former exists, otherwise user the global one in case it exists. + if ( typeof rules.normalizer === "function" ) { + normalizer = rules.normalizer; + } else if ( typeof this.settings.normalizer === "function" ) { + normalizer = this.settings.normalizer; + } + + // If normalizer is defined, then call it to retreive the changed value instead + // of using the real one. + // Note that `this` in the normalizer is `element`. + if ( normalizer ) { + val = normalizer.call( element, val ); + + // Delete the normalizer from rules to avoid treating it as a pre-defined method. + delete rules.normalizer; + } + + for ( method in rules ) { + rule = { method: method, parameters: rules[ method ] }; + try { + result = $.validator.methods[ method ].call( this, val, element, rule.parameters ); + + // If a method indicates that the field is optional and therefore valid, + // don't mark it as valid when there are no other rules + if ( result === "dependency-mismatch" && rulesCount === 1 ) { + dependencyMismatch = true; + continue; + } + dependencyMismatch = false; + + if ( result === "pending" ) { + this.toHide = this.toHide.not( this.errorsFor( element ) ); + return; + } + + if ( !result ) { + this.formatAndAdd( element, rule ); + return false; + } + } catch ( e ) { + if ( this.settings.debug && window.console ) { + console.log( "Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.", e ); + } + if ( e instanceof TypeError ) { + e.message += ". Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method."; + } + + throw e; + } + } + if ( dependencyMismatch ) { + return; + } + if ( this.objectLength( rules ) ) { + this.successList.push( element ); + } + return true; + }, + + // Return the custom message for the given element and validation method + // specified in the element's HTML5 data attribute + // return the generic message if present and no method specific message is present + customDataMessage: function( element, method ) { + return $( element ).data( "msg" + method.charAt( 0 ).toUpperCase() + + method.substring( 1 ).toLowerCase() ) || $( element ).data( "msg" ); + }, + + // Return the custom message for the given element name and validation method + customMessage: function( name, method ) { + var m = this.settings.messages[ name ]; + return m && ( m.constructor === String ? m : m[ method ] ); + }, + + // Return the first defined argument, allowing empty strings + findDefined: function() { + for ( var i = 0; i < arguments.length; i++ ) { + if ( arguments[ i ] !== undefined ) { + return arguments[ i ]; + } + } + return undefined; + }, + + // The second parameter 'rule' used to be a string, and extended to an object literal + // of the following form: + // rule = { + // method: "method name", + // parameters: "the given method parameters" + // } + // + // The old behavior still supported, kept to maintain backward compatibility with + // old code, and will be removed in the next major release. + defaultMessage: function( element, rule ) { + if ( typeof rule === "string" ) { + rule = { method: rule }; + } + + var message = this.findDefined( + this.customMessage( element.name, rule.method ), + this.customDataMessage( element, rule.method ), + + // 'title' is never undefined, so handle empty string as undefined + !this.settings.ignoreTitle && element.title || undefined, + $.validator.messages[ rule.method ], + "<strong>Warning: No message defined for " + element.name + "</strong>" + ), + theregex = /\$?\{(\d+)\}/g; + if ( typeof message === "function" ) { + message = message.call( this, rule.parameters, element ); + } else if ( theregex.test( message ) ) { + message = $.validator.format( message.replace( theregex, "{$1}" ), rule.parameters ); + } + + return message; + }, + + formatAndAdd: function( element, rule ) { + var message = this.defaultMessage( element, rule ); + + this.errorList.push( { + message: message, + element: element, + method: rule.method + } ); + + this.errorMap[ element.name ] = message; + this.submitted[ element.name ] = message; + }, + + addWrapper: function( toToggle ) { + if ( this.settings.wrapper ) { + toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) ); + } + return toToggle; + }, + + defaultShowErrors: function() { + var i, elements, error; + for ( i = 0; this.errorList[ i ]; i++ ) { + error = this.errorList[ i ]; + if ( this.settings.highlight ) { + this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass ); + } + this.showLabel( error.element, error.message ); + } + if ( this.errorList.length ) { + this.toShow = this.toShow.add( this.containers ); + } + if ( this.settings.success ) { + for ( i = 0; this.successList[ i ]; i++ ) { + this.showLabel( this.successList[ i ] ); + } + } + if ( this.settings.unhighlight ) { + for ( i = 0, elements = this.validElements(); elements[ i ]; i++ ) { + this.settings.unhighlight.call( this, elements[ i ], this.settings.errorClass, this.settings.validClass ); + } + } + this.toHide = this.toHide.not( this.toShow ); + this.hideErrors(); + this.addWrapper( this.toShow ).show(); + }, + + validElements: function() { + return this.currentElements.not( this.invalidElements() ); + }, + + invalidElements: function() { + return $( this.errorList ).map( function() { + return this.element; + } ); + }, + + showLabel: function( element, message ) { + var place, group, errorID, v, + error = this.errorsFor( element ), + elementID = this.idOrName( element ), + describedBy = $( element ).attr( "aria-describedby" ); + + if ( error.length ) { + + // Refresh error/success class + error.removeClass( this.settings.validClass ).addClass( this.settings.errorClass ); + + // Replace message on existing label + error.html( message ); + } else { + + // Create error element + error = $( "<" + this.settings.errorElement + ">" ) + .attr( "id", elementID + "-error" ) + .addClass( this.settings.errorClass ) + .html( message || "" ); + + // Maintain reference to the element to be placed into the DOM + place = error; + if ( this.settings.wrapper ) { + + // Make sure the element is visible, even in IE + // actually showing the wrapped element is handled elsewhere + place = error.hide().show().wrap( "<" + this.settings.wrapper + "/>" ).parent(); + } + if ( this.labelContainer.length ) { + this.labelContainer.append( place ); + } else if ( this.settings.errorPlacement ) { + this.settings.errorPlacement.call( this, place, $( element ) ); + } else { + place.insertAfter( element ); + } + + // Link error back to the element + if ( error.is( "label" ) ) { + + // If the error is a label, then associate using 'for' + error.attr( "for", elementID ); + + // If the element is not a child of an associated label, then it's necessary + // to explicitly apply aria-describedby + } else if ( error.parents( "label[for='" + this.escapeCssMeta( elementID ) + "']" ).length === 0 ) { + errorID = error.attr( "id" ); + + // Respect existing non-error aria-describedby + if ( !describedBy ) { + describedBy = errorID; + } else if ( !describedBy.match( new RegExp( "\\b" + this.escapeCssMeta( errorID ) + "\\b" ) ) ) { + + // Add to end of list if not already present + describedBy += " " + errorID; + } + $( element ).attr( "aria-describedby", describedBy ); + + // If this element is grouped, then assign to all elements in the same group + group = this.groups[ element.name ]; + if ( group ) { + v = this; + $.each( v.groups, function( name, testgroup ) { + if ( testgroup === group ) { + $( "[name='" + v.escapeCssMeta( name ) + "']", v.currentForm ) + .attr( "aria-describedby", error.attr( "id" ) ); + } + } ); + } + } + } + if ( !message && this.settings.success ) { + error.text( "" ); + if ( typeof this.settings.success === "string" ) { + error.addClass( this.settings.success ); + } else { + this.settings.success( error, element ); + } + } + this.toShow = this.toShow.add( error ); + }, + + errorsFor: function( element ) { + var name = this.escapeCssMeta( this.idOrName( element ) ), + describer = $( element ).attr( "aria-describedby" ), + selector = "label[for='" + name + "'], label[for='" + name + "'] *"; + + // 'aria-describedby' should directly reference the error element + if ( describer ) { + selector = selector + ", #" + this.escapeCssMeta( describer ) + .replace( /\s+/g, ", #" ); + } + + return this + .errors() + .filter( selector ); + }, + + // See https://api.jquery.com/category/selectors/, for CSS + // meta-characters that should be escaped in order to be used with JQuery + // as a literal part of a name/id or any selector. + escapeCssMeta: function( string ) { + return string.replace( /([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1" ); + }, + + idOrName: function( element ) { + return this.groups[ element.name ] || ( this.checkable( element ) ? element.name : element.id || element.name ); + }, + + validationTargetFor: function( element ) { + + // If radio/checkbox, validate first element in group instead + if ( this.checkable( element ) ) { + element = this.findByName( element.name ); + } + + // Always apply ignore filter + return $( element ).not( this.settings.ignore )[ 0 ]; + }, + + checkable: function( element ) { + return ( /radio|checkbox/i ).test( element.type ); + }, + + findByName: function( name ) { + return $( this.currentForm ).find( "[name='" + this.escapeCssMeta( name ) + "']" ); + }, + + getLength: function( value, element ) { + switch ( element.nodeName.toLowerCase() ) { + case "select": + return $( "option:selected", element ).length; + case "input": + if ( this.checkable( element ) ) { + return this.findByName( element.name ).filter( ":checked" ).length; + } + } + return value.length; + }, + + depend: function( param, element ) { + return this.dependTypes[ typeof param ] ? this.dependTypes[ typeof param ]( param, element ) : true; + }, + + dependTypes: { + "boolean": function( param ) { + return param; + }, + "string": function( param, element ) { + return !!$( param, element.form ).length; + }, + "function": function( param, element ) { + return param( element ); + } + }, + + optional: function( element ) { + var val = this.elementValue( element ); + return !$.validator.methods.required.call( this, val, element ) && "dependency-mismatch"; + }, + + startRequest: function( element ) { + if ( !this.pending[ element.name ] ) { + this.pendingRequest++; + $( element ).addClass( this.settings.pendingClass ); + this.pending[ element.name ] = true; + } + }, + + stopRequest: function( element, valid ) { + this.pendingRequest--; + + // Sometimes synchronization fails, make sure pendingRequest is never < 0 + if ( this.pendingRequest < 0 ) { + this.pendingRequest = 0; + } + delete this.pending[ element.name ]; + $( element ).removeClass( this.settings.pendingClass ); + if ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() ) { + $( this.currentForm ).submit(); + + // Remove the hidden input that was used as a replacement for the + // missing submit button. The hidden input is added by `handle()` + // to ensure that the value of the used submit button is passed on + // for scripted submits triggered by this method + if ( this.submitButton ) { + $( "input:hidden[name='" + this.submitButton.name + "']", this.currentForm ).remove(); + } + + this.formSubmitted = false; + } else if ( !valid && this.pendingRequest === 0 && this.formSubmitted ) { + $( this.currentForm ).triggerHandler( "invalid-form", [ this ] ); + this.formSubmitted = false; + } + }, + + previousValue: function( element, method ) { + method = typeof method === "string" && method || "remote"; + + return $.data( element, "previousValue" ) || $.data( element, "previousValue", { + old: null, + valid: true, + message: this.defaultMessage( element, { method: method } ) + } ); + }, + + // Cleans up all forms and elements, removes validator-specific events + destroy: function() { + this.resetForm(); + + $( this.currentForm ) + .off( ".validate" ) + .removeData( "validator" ) + .find( ".validate-equalTo-blur" ) + .off( ".validate-equalTo" ) + .removeClass( "validate-equalTo-blur" ) + .find( ".validate-lessThan-blur" ) + .off( ".validate-lessThan" ) + .removeClass( "validate-lessThan-blur" ) + .find( ".validate-lessThanEqual-blur" ) + .off( ".validate-lessThanEqual" ) + .removeClass( "validate-lessThanEqual-blur" ) + .find( ".validate-greaterThanEqual-blur" ) + .off( ".validate-greaterThanEqual" ) + .removeClass( "validate-greaterThanEqual-blur" ) + .find( ".validate-greaterThan-blur" ) + .off( ".validate-greaterThan" ) + .removeClass( "validate-greaterThan-blur" ); + } + + }, + + classRuleSettings: { + required: { required: true }, + email: { email: true }, + url: { url: true }, + date: { date: true }, + dateISO: { dateISO: true }, + number: { number: true }, + digits: { digits: true }, + creditcard: { creditcard: true } + }, + + addClassRules: function( className, rules ) { + if ( className.constructor === String ) { + this.classRuleSettings[ className ] = rules; + } else { + $.extend( this.classRuleSettings, className ); + } + }, + + classRules: function( element ) { + var rules = {}, + classes = $( element ).attr( "class" ); + + if ( classes ) { + $.each( classes.split( " " ), function() { + if ( this in $.validator.classRuleSettings ) { + $.extend( rules, $.validator.classRuleSettings[ this ] ); + } + } ); + } + return rules; + }, + + normalizeAttributeRule: function( rules, type, method, value ) { + + // Convert the value to a number for number inputs, and for text for backwards compability + // allows type="date" and others to be compared as strings + if ( /min|max|step/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) { + value = Number( value ); + + // Support Opera Mini, which returns NaN for undefined minlength + if ( isNaN( value ) ) { + value = undefined; + } + } + + if ( value || value === 0 ) { + rules[ method ] = value; + } else if ( type === method && type !== "range" ) { + + // Exception: the jquery validate 'range' method + // does not test for the html5 'range' type + rules[ method ] = true; + } + }, + + attributeRules: function( element ) { + var rules = {}, + $element = $( element ), + type = element.getAttribute( "type" ), + method, value; + + for ( method in $.validator.methods ) { + + // Support for <input required> in both html5 and older browsers + if ( method === "required" ) { + value = element.getAttribute( method ); + + // Some browsers return an empty string for the required attribute + // and non-HTML5 browsers might have required="" markup + if ( value === "" ) { + value = true; + } + + // Force non-HTML5 browsers to return bool + value = !!value; + } else { + value = $element.attr( method ); + } + + this.normalizeAttributeRule( rules, type, method, value ); + } + + // 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs + if ( rules.maxlength && /-1|2147483647|524288/.test( rules.maxlength ) ) { + delete rules.maxlength; + } + + return rules; + }, + + dataRules: function( element ) { + var rules = {}, + $element = $( element ), + type = element.getAttribute( "type" ), + method, value; + + for ( method in $.validator.methods ) { + value = $element.data( "rule" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() ); + + // Cast empty attributes like `data-rule-required` to `true` + if ( value === "" ) { + value = true; + } + + this.normalizeAttributeRule( rules, type, method, value ); + } + return rules; + }, + + staticRules: function( element ) { + var rules = {}, + validator = $.data( element.form, "validator" ); + + if ( validator.settings.rules ) { + rules = $.validator.normalizeRule( validator.settings.rules[ element.name ] ) || {}; + } + return rules; + }, + + normalizeRules: function( rules, element ) { + + // Handle dependency check + $.each( rules, function( prop, val ) { + + // Ignore rule when param is explicitly false, eg. required:false + if ( val === false ) { + delete rules[ prop ]; + return; + } + if ( val.param || val.depends ) { + var keepRule = true; + switch ( typeof val.depends ) { + case "string": + keepRule = !!$( val.depends, element.form ).length; + break; + case "function": + keepRule = val.depends.call( element, element ); + break; + } + if ( keepRule ) { + rules[ prop ] = val.param !== undefined ? val.param : true; + } else { + $.data( element.form, "validator" ).resetElements( $( element ) ); + delete rules[ prop ]; + } + } + } ); + + // Evaluate parameters + $.each( rules, function( rule, parameter ) { + rules[ rule ] = $.isFunction( parameter ) && rule !== "normalizer" ? parameter( element ) : parameter; + } ); + + // Clean number parameters + $.each( [ "minlength", "maxlength" ], function() { + if ( rules[ this ] ) { + rules[ this ] = Number( rules[ this ] ); + } + } ); + $.each( [ "rangelength", "range" ], function() { + var parts; + if ( rules[ this ] ) { + if ( $.isArray( rules[ this ] ) ) { + rules[ this ] = [ Number( rules[ this ][ 0 ] ), Number( rules[ this ][ 1 ] ) ]; + } else if ( typeof rules[ this ] === "string" ) { + parts = rules[ this ].replace( /[\[\]]/g, "" ).split( /[\s,]+/ ); + rules[ this ] = [ Number( parts[ 0 ] ), Number( parts[ 1 ] ) ]; + } + } + } ); + + if ( $.validator.autoCreateRanges ) { + + // Auto-create ranges + if ( rules.min != null && rules.max != null ) { + rules.range = [ rules.min, rules.max ]; + delete rules.min; + delete rules.max; + } + if ( rules.minlength != null && rules.maxlength != null ) { + rules.rangelength = [ rules.minlength, rules.maxlength ]; + delete rules.minlength; + delete rules.maxlength; + } + } + + return rules; + }, + + // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true} + normalizeRule: function( data ) { + if ( typeof data === "string" ) { + var transformed = {}; + $.each( data.split( /\s/ ), function() { + transformed[ this ] = true; + } ); + data = transformed; + } + return data; + }, + + // https://jqueryvalidation.org/jQuery.validator.addMethod/ + addMethod: function( name, method, message ) { + $.validator.methods[ name ] = method; + $.validator.messages[ name ] = message !== undefined ? message : $.validator.messages[ name ]; + if ( method.length < 3 ) { + $.validator.addClassRules( name, $.validator.normalizeRule( name ) ); + } + }, + + // https://jqueryvalidation.org/jQuery.validator.methods/ + methods: { + + // https://jqueryvalidation.org/required-method/ + required: function( value, element, param ) { + + // Check if dependency is met + if ( !this.depend( param, element ) ) { + return "dependency-mismatch"; + } + if ( element.nodeName.toLowerCase() === "select" ) { + + // Could be an array for select-multiple or a string, both are fine this way + var val = $( element ).val(); + return val && val.length > 0; + } + if ( this.checkable( element ) ) { + return this.getLength( value, element ) > 0; + } + return value !== undefined && value !== null && value.length > 0; + }, + + // https://jqueryvalidation.org/email-method/ + email: function( value, element ) { + + // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address + // Retrieved 2014-01-14 + // If you have a problem with this implementation, report a bug against the above spec + // Or use custom methods to implement your own email validation + return this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value ); + }, + + // https://jqueryvalidation.org/url-method/ + url: function( value, element ) { + + // Copyright (c) 2010-2013 Diego Perini, MIT licensed + // https://gist.github.com/dperini/729294 + // see also https://mathiasbynens.be/demo/url-regex + // modified to allow protocol-relative URLs + return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value ); + }, + + // https://jqueryvalidation.org/date-method/ + date: ( function() { + var called = false; + + return function( value, element ) { + if ( !called ) { + called = true; + if ( this.settings.debug && window.console ) { + console.warn( + "The `date` method is deprecated and will be removed in version '2.0.0'.\n" + + "Please don't use it, since it relies on the Date constructor, which\n" + + "behaves very differently across browsers and locales. Use `dateISO`\n" + + "instead or one of the locale specific methods in `localizations/`\n" + + "and `additional-methods.js`." + ); + } + } + + return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() ); + }; + }() ), + + // https://jqueryvalidation.org/dateISO-method/ + dateISO: function( value, element ) { + return this.optional( element ) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test( value ); + }, + + // https://jqueryvalidation.org/number-method/ + number: function( value, element ) { + return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value ); + }, + + // https://jqueryvalidation.org/digits-method/ + digits: function( value, element ) { + return this.optional( element ) || /^\d+$/.test( value ); + }, + + // https://jqueryvalidation.org/minlength-method/ + minlength: function( value, element, param ) { + var length = $.isArray( value ) ? value.length : this.getLength( value, element ); + return this.optional( element ) || length >= param; + }, + + // https://jqueryvalidation.org/maxlength-method/ + maxlength: function( value, element, param ) { + var length = $.isArray( value ) ? value.length : this.getLength( value, element ); + return this.optional( element ) || length <= param; + }, + + // https://jqueryvalidation.org/rangelength-method/ + rangelength: function( value, element, param ) { + var length = $.isArray( value ) ? value.length : this.getLength( value, element ); + return this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] ); + }, + + // https://jqueryvalidation.org/min-method/ + min: function( value, element, param ) { + return this.optional( element ) || value >= param; + }, + + // https://jqueryvalidation.org/max-method/ + max: function( value, element, param ) { + return this.optional( element ) || value <= param; + }, + + // https://jqueryvalidation.org/range-method/ + range: function( value, element, param ) { + return this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] ); + }, + + // https://jqueryvalidation.org/step-method/ + step: function( value, element, param ) { + var type = $( element ).attr( "type" ), + errorMessage = "Step attribute on input type " + type + " is not supported.", + supportedTypes = [ "text", "number", "range" ], + re = new RegExp( "\\b" + type + "\\b" ), + notSupported = type && !re.test( supportedTypes.join() ), + decimalPlaces = function( num ) { + var match = ( "" + num ).match( /(?:\.(\d+))?$/ ); + if ( !match ) { + return 0; + } + + // Number of digits right of decimal point. + return match[ 1 ] ? match[ 1 ].length : 0; + }, + toInt = function( num ) { + return Math.round( num * Math.pow( 10, decimals ) ); + }, + valid = true, + decimals; + + // Works only for text, number and range input types + // TODO find a way to support input types date, datetime, datetime-local, month, time and week + if ( notSupported ) { + throw new Error( errorMessage ); + } + + decimals = decimalPlaces( param ); + + // Value can't have too many decimals + if ( decimalPlaces( value ) > decimals || toInt( value ) % toInt( param ) !== 0 ) { + valid = false; + } + + return this.optional( element ) || valid; + }, + + // https://jqueryvalidation.org/equalTo-method/ + equalTo: function( value, element, param ) { + + // Bind to the blur event of the target in order to revalidate whenever the target field is updated + var target = $( param ); + if ( this.settings.onfocusout && target.not( ".validate-equalTo-blur" ).length ) { + target.addClass( "validate-equalTo-blur" ).on( "blur.validate-equalTo", function() { + $( element ).valid(); + } ); + } + return value === target.val(); + }, + + // https://jqueryvalidation.org/remote-method/ + remote: function( value, element, param, method ) { + if ( this.optional( element ) ) { + return "dependency-mismatch"; + } + + method = typeof method === "string" && method || "remote"; + + var previous = this.previousValue( element, method ), + validator, data, optionDataString; + + if ( !this.settings.messages[ element.name ] ) { + this.settings.messages[ element.name ] = {}; + } + previous.originalMessage = previous.originalMessage || this.settings.messages[ element.name ][ method ]; + this.settings.messages[ element.name ][ method ] = previous.message; + + param = typeof param === "string" && { url: param } || param; + optionDataString = $.param( $.extend( { data: value }, param.data ) ); + if ( previous.old === optionDataString ) { + return previous.valid; + } + + previous.old = optionDataString; + validator = this; + this.startRequest( element ); + data = {}; + data[ element.name ] = value; + $.ajax( $.extend( true, { + mode: "abort", + port: "validate" + element.name, + dataType: "json", + data: data, + context: validator.currentForm, + success: function( response ) { + var valid = response === true || response === "true", + errors, message, submitted; + + validator.settings.messages[ element.name ][ method ] = previous.originalMessage; + if ( valid ) { + submitted = validator.formSubmitted; + validator.resetInternals(); + validator.toHide = validator.errorsFor( element ); + validator.formSubmitted = submitted; + validator.successList.push( element ); + validator.invalid[ element.name ] = false; + validator.showErrors(); + } else { + errors = {}; + message = response || validator.defaultMessage( element, { method: method, parameters: value } ); + errors[ element.name ] = previous.message = message; + validator.invalid[ element.name ] = true; + validator.showErrors( errors ); + } + previous.valid = valid; + validator.stopRequest( element, valid ); + } + }, param ) ); + return "pending"; + } + } + +} ); + +// Ajax mode: abort +// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); +// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() + +var pendingRequests = {}, + ajax; + +// Use a prefilter if available (1.5+) +if ( $.ajaxPrefilter ) { + $.ajaxPrefilter( function( settings, _, xhr ) { + var port = settings.port; + if ( settings.mode === "abort" ) { + if ( pendingRequests[ port ] ) { + pendingRequests[ port ].abort(); + } + pendingRequests[ port ] = xhr; + } + } ); +} else { + + // Proxy ajax + ajax = $.ajax; + $.ajax = function( settings ) { + var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, + port = ( "port" in settings ? settings : $.ajaxSettings ).port; + if ( mode === "abort" ) { + if ( pendingRequests[ port ] ) { + pendingRequests[ port ].abort(); + } + pendingRequests[ port ] = ajax.apply( this, arguments ); + return pendingRequests[ port ]; + } + return ajax.apply( this, arguments ); + }; +} +return $; +})); +/*! Select2 4.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,w;function b(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t]},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"treeitem","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=(e.id,e.id+"-results");this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex)}),e.on("disable",function(){n.$selection.attr("tabindex","-1")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){n(this);this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r),n.attr("title",t.title||t.text)}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,a){function n(e,t){n.__super__.constructor.apply(this,arguments)}return a.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.options.get("disabled")){var t=i(this).parent(),n=a.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o),i.attr("title",r.title||r.text),a.StoreData(i[0],"data",r),t.push(i)}var s=this.$selection.find(".select2-selection__rendered");a.appendMany(s,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,s,a){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){r.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===a.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=s.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}});var i=document.documentMode,o=i&&i<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){o?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(o&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=a.SHIFT&&t!=a.CTRL&&t!=a.ALT&&t!=a.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").innerWidth():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){var n=t.get("data")||[];r.__super__.constructor.call(this,e,t),this.addOptions(this.convertToOptions(n))}return f.Extend(r,e),r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(n,r,i){var o=this;this.current(function(e){var t=null!=e?e.length:0;0<o.maximumSelectionLength&&t>=o.maximumSelectionLength?o.trigger("results:message",{message:"maximumSelected",args:{maximum:o.maximumSelectionLength}}):n.call(o,r,i)})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(i,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=i('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){i(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=n.get("dropdownParent")||f(document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this,i=!1;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),i||(i=!0,t.on("results:all",function(){r._positionDropdown(),r._resizeDropdown()}),t.on("results:append",function(){r._positionDropdown(),r._resizeDropdown()}))}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h=p.offset();d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(f,g,m,v,y,_,$,w,b,A,x,t,D,S,E,C,O,T,q,L,j,I,P,k,R,U,M,z,e){function n(){this.reset()}return n.prototype.apply=function(t){if(null==(t=f.extend(!0,{},this.defaults,t)).dataAdapter){if(null!=t.ajax?t.dataAdapter=E:null!=t.data?t.dataAdapter=S:t.dataAdapter=D,0<t.minimumInputLength&&(t.dataAdapter=A.Decorate(t.dataAdapter,T)),0<t.maximumInputLength&&(t.dataAdapter=A.Decorate(t.dataAdapter,q)),0<t.maximumSelectionLength&&(t.dataAdapter=A.Decorate(t.dataAdapter,L)),t.tags&&(t.dataAdapter=A.Decorate(t.dataAdapter,C)),null==t.tokenSeparators&&null==t.tokenizer||(t.dataAdapter=A.Decorate(t.dataAdapter,O)),null!=t.query){var e=g(t.amdBase+"compat/query");t.dataAdapter=A.Decorate(t.dataAdapter,e)}if(null!=t.initSelection){var n=g(t.amdBase+"compat/initSelection");t.dataAdapter=A.Decorate(t.dataAdapter,n)}}if(null==t.resultsAdapter&&(t.resultsAdapter=m,null!=t.ajax&&(t.resultsAdapter=A.Decorate(t.resultsAdapter,k)),null!=t.placeholder&&(t.resultsAdapter=A.Decorate(t.resultsAdapter,P)),t.selectOnClose&&(t.resultsAdapter=A.Decorate(t.resultsAdapter,M))),null==t.dropdownAdapter){if(t.multiple)t.dropdownAdapter=j;else{var r=A.Decorate(j,I);t.dropdownAdapter=r}if(0!==t.minimumResultsForSearch&&(t.dropdownAdapter=A.Decorate(t.dropdownAdapter,U)),t.closeOnSelect&&(t.dropdownAdapter=A.Decorate(t.dropdownAdapter,z)),null!=t.dropdownCssClass||null!=t.dropdownCss||null!=t.adaptDropdownCssClass){var i=g(t.amdBase+"compat/dropdownCss");t.dropdownAdapter=A.Decorate(t.dropdownAdapter,i)}t.dropdownAdapter=A.Decorate(t.dropdownAdapter,R)}if(null==t.selectionAdapter){if(t.multiple?t.selectionAdapter=y:t.selectionAdapter=v,null!=t.placeholder&&(t.selectionAdapter=A.Decorate(t.selectionAdapter,_)),t.allowClear&&(t.selectionAdapter=A.Decorate(t.selectionAdapter,$)),t.multiple&&(t.selectionAdapter=A.Decorate(t.selectionAdapter,w)),null!=t.containerCssClass||null!=t.containerCss||null!=t.adaptContainerCssClass){var o=g(t.amdBase+"compat/containerCss");t.selectionAdapter=A.Decorate(t.selectionAdapter,o)}t.selectionAdapter=A.Decorate(t.selectionAdapter,b)}if("string"==typeof t.language)if(0<t.language.indexOf("-")){var s=t.language.split("-")[0];t.language=[t.language,s]}else t.language=[t.language];if(f.isArray(t.language)){var a=new x;t.language.push("en");for(var l=t.language,c=0;c<l.length;c++){var u=l[c],d={};try{d=x.loadPath(u)}catch(e){try{u=this.defaults.amdLanguageBase+u,d=x.loadPath(u)}catch(e){t.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+u+'" could not be automatically loaded. A fallback will be used instead.');continue}}a.extend(d)}t.translations=a}else{var p=x.loadPath(this.defaults.amdLanguageBase+"en"),h=new x(t.language);h.extend(p),t.translations=h}return t},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:A.escapeMarkup,language:e,matcher:function e(t,n){if(""===f.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=f.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.set=function(e,t){var n={};n[f.camelCase(e)]=t;var r=A._convertData(n);f.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(i,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){i.each(e,t._syncA),i.each(e,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===i.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._syncSubtree=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})}},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.trigger("query",{})},d.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];i.isArray(t)&&(t=i.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=i('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t}); +// Place all the behaviors and hooks related to the matching controller here. +// All this logic will automatically be available in application.js. +; +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's +// vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// + + + + + + + +; diff --git a/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js.gz b/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js.gz new file mode 100644 index 000000000..120f1b4fd Binary files /dev/null and b/public/assets/application-a3a4f3549d68670572bb07700c85a9ac11e536edc73fef6e7489723bf535e533.js.gz differ diff --git a/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css b/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css new file mode 100644 index 000000000..0a6d821b6 --- /dev/null +++ b/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css @@ -0,0 +1,33017 @@ +@charset "UTF-8"; +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_root.scss */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[tabindex="-1"]:focus { + outline: 0 !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +p { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dt { + font-weight: 700; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +/* line 148, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +blockquote { + margin: 0 0 1rem; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +b, +strong { + font-weight: bolder; +} + +/* line 157, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +small { + font-size: 80%; +} + +/* line 166, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub { + bottom: -.25em; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sup { + top: -.5em; +} + +/* line 182, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +/* line 226, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +/* line 240, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +figure { + margin: 0 0 1rem; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +img { + vertical-align: middle; + border-style: none; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +svg { + overflow: hidden; + vertical-align: middle; +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +table { + border-collapse: collapse; +} + +/* line 271, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +/* line 279, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +th { + text-align: inherit; +} + +/* line 290, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +/* line 299, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button { + border-radius: 0; +} + +/* line 308, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +/* line 313, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +/* line 324, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +input { + overflow: visible; +} + +/* line 329, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +select { + text-transform: none; +} + +/* line 337, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +select { + word-wrap: normal; +} + +/* line 345, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/* line 358, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +/* line 365, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +/* line 392, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +textarea { + overflow: auto; + resize: vertical; +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +/* line 413, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +/* line 425, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +progress { + vertical-align: baseline; +} + +/* line 430, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/* line 435, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +/* line 448, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* line 457, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +/* line 466, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +output { + display: inline-block; +} + +/* line 470, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +summary { + display: list-item; + cursor: pointer; +} + +/* line 475, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +template { + display: none; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[hidden] { + display: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, .h1 { + font-size: 2.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h2, .h2 { + font-size: 2rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h3, .h3 { + font-size: 1.75rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h4, .h4 { + font-size: 1.5rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h5, .h5 { + font-size: 1.25rem; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h6, .h6 { + font-size: 1rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +small, +.small { + font-size: 80%; + font-weight: 400; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-unstyled { + padding-left: 0; + list-style: none; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline { + padding-left: 0; + list-style: none; +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item { + display: inline-block; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +/* line 112, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer::before { + content: "\2014\00A0"; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-fluid { + max-width: 100%; + height: auto; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure { + display: inline-block; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +a > code { + color: inherit; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 1140px; + } +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .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-sm, +.col-sm-auto, .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-md, +.col-md-auto, .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-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-last { + -webkit-box-ordinal-group: 14; + order: 13; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-0 { + -webkit-box-ordinal-group: 1; + order: 0; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-1 { + -webkit-box-ordinal-group: 2; + order: 1; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-2 { + -webkit-box-ordinal-group: 3; + order: 2; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-3 { + -webkit-box-ordinal-group: 4; + order: 3; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-4 { + -webkit-box-ordinal-group: 5; + order: 4; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-5 { + -webkit-box-ordinal-group: 6; + order: 5; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-6 { + -webkit-box-ordinal-group: 7; + order: 6; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-7 { + -webkit-box-ordinal-group: 8; + order: 7; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-8 { + -webkit-box-ordinal-group: 9; + order: 8; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-9 { + -webkit-box-ordinal-group: 10; + order: 9; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-10 { + -webkit-box-ordinal-group: 11; + order: 10; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-11 { + -webkit-box-ordinal-group: 12; + order: 11; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-12 { + -webkit-box-ordinal-group: 13; + order: 12; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-1 { + margin-left: 8.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-2 { + margin-left: 16.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-3 { + margin-left: 25%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-4 { + margin-left: 33.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-5 { + margin-left: 41.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-6 { + margin-left: 50%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-7 { + margin-left: 58.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-8 { + margin-left: 66.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-9 { + margin-left: 75%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-10 { + margin-left: 83.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-11 { + margin-left: 91.66667%; +} + +@media (min-width: 576px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 768px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 992px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 1200px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-11 { + margin-left: 91.66667%; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered { + border: 1px solid #dee2e6; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-info:hover { + background-color: #abdde5; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-light:hover { + background-color: #ececf6; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark { + color: #fff; + background-color: #343a40; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-bordered { + border: 0; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive > .table-bordered { + border: 0; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-control { + -webkit-transition: none; + transition: none; + } +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +/* line 137, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 155, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +/* line 161, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +textarea.form-control { + height: auto; +} + +/* line 170, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-group { + margin-bottom: 1rem; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-text { + display: block; + margin-top: 0.25rem; +} + +/* line 184, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +/* line 190, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +/* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +/* line 213, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-label { + margin-bottom: 0; +} + +/* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline { + display: -webkit-inline-box; + display: inline-flex; + -webkit-box-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +/* line 229, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 258, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline { + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + /* line 272, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline label { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + margin-bottom: 0; + } + /* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-group { + display: -webkit-box; + display: flex; + -webkit-box-flex: 0; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; + margin-bottom: 0; + } + /* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + /* line 296, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control-plaintext { + display: inline-block; + } + /* line 300, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + /* line 307, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + /* line 314, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + /* line 322, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control { + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + } + /* line 326, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ + .btn { + -webkit-transition: none; + transition: none; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn:hover { + color: #212529; + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +/* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 120, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block { + display: block; + width: 100%; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .fade { + -webkit-transition: none; + transition: none; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade:not(.show) { + opacity: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapse:not(.show) { + display: none; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .collapsing { + -webkit-transition: none; + transition: none; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-toggle { + white-space: nowrap; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-left { + right: auto; + left: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 70, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: none; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu.show { + display: block; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: inline-flex; + vertical-align: middle; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar .input-group { + width: auto; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +/* line 121, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +/* line 127, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: stretch; + align-items: stretch; + width: 100%; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend, +.input-group-append { + display: -webkit-box; + display: flex; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend { + margin-right: -1px; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-append { + margin-left: -1px; +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 118, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 186, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-inline { + display: -webkit-inline-box; + display: inline-flex; + margin-right: 1rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 133, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 144, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +/* line 150, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch { + padding-left: 2.25rem; +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-switch .custom-control-label::after { + -webkit-transition: none; + transition: none; + } +} + +/* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 212, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 230, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +/* line 257, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +/* line 263, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select::-ms-expand { + display: none; +} + +/* line 268, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +/* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +/* line 297, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +/* line 305, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 310, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +/* line 315, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +/* line 320, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +/* line 325, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 342, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +/* line 366, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus { + outline: none; +} + +/* line 378, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 379, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 383, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-focus-outer { + border: 0; +} + +/* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +/* line 403, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-moz-range-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 424, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +/* line 429, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-ms-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 453, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +/* line 458, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +/* line 469, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 474, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +/* line 485, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +/* line 489, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +/* line 493, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +/* line 497, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +/* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before, +.custom-file-label, +.custom-select { + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-control-label::before, + .custom-file-label, + .custom-select { + -webkit-transition: none; + transition: none; + } +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-fill .nav-item { + -webkit-box-flex: 1; + flex: 1 1 auto; + text-align: center; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-justified .nav-item { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + text-align: center; +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .tab-pane { + display: none; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .active { + display: block; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar > .container, +.navbar > .container-fluid { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-collapse { + flex-basis: 100%; + -webkit-box-flex: 1; + flex-grow: 1; + -webkit-box-align: center; + align-items: center; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + flex-wrap: nowrap; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-toggler { + display: none; +} + +/* line 194, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 203, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +/* line 210, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +/* line 215, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +/* line 223, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +/* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 232, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +/* line 234, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 246, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-brand { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +/* line 275, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +/* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 284, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +/* line 286, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text a { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > hr { + margin-right: 0; + margin-left: 0; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-body { + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-title { + margin-bottom: 0.75rem; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-text:last-child { + margin-bottom: 0; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.card-link:hover { + text-decoration: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-link + .card-link { + margin-left: 1.25rem; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +/* line 109, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck .card { + display: -webkit-box; + display: flex; + -webkit-box-flex: 1; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +/* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + } + /* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card { + -webkit-box-flex: 1; + flex: 1 0 0%; + margin-bottom: 0; + } + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + /* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + /* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + /* line 207, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + /* line 214, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + /* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + /* line 238, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + /* line 249, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card { + overflow: hidden; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +/* line 270, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 281, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 285, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card .card-header { + margin-bottom: -1px; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item.active { + color: #6c757d; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.pagination { + display: -webkit-box; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ + .badge { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge:empty { + display: none; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.btn .badge { + position: relative; + top: -1px; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-primary { + color: #fff; + background-color: #007bff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-success { + color: #fff; + background-color: #28a745; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-dark { + color: #fff; + background-color: #343a40; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ + .jumbotron { + padding: 4rem 2rem; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-heading { + color: inherit; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-link { + font-weight: 700; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible { + padding-right: 4rem; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary hr { + border-top-color: #9fcdff; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary .alert-link { + color: #002752; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary .alert-link { + color: #202326; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success hr { + border-top-color: #b1dfbb; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success .alert-link { + color: #0b2e13; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info hr { + border-top-color: #abdde5; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info .alert-link { + color: #062c33; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning hr { + border-top-color: #ffe8a1; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning .alert-link { + color: #533f03; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger hr { + border-top-color: #f1b0b7; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger .alert-link { + color: #491217; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light hr { + border-top-color: #ececf6; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light .alert-link { + color: #686868; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark hr { + border-top-color: #b9bbbe; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress { + display: -webkit-box; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar { + -webkit-transition: none; + transition: none; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-striped { + background-image: 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-size: 1rem 1rem; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media-body { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +/* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:hover { + color: #000; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +a.close.disabled { + pointer-events: none; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.showing { + opacity: 1; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.show { + display: block; + opacity: 1; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.hide { + display: none; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-header { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-body { + padding: 0.75rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open { + overflow: hidden; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal.fade .modal-dialog { + -webkit-transition: none; + transition: none; + } +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable { + display: -webkit-box; + display: flex; + max-height: calc(100% - 1rem); +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +/* line 78, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + height: 100%; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-content { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.fade { + opacity: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.show { + opacity: 0.5; +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +/* line 151, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +/* line 158, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-body { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 176, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +/* line 181, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + /* line 197, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + /* line 200, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + /* line 205, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + /* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + /* line 221, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + /* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-xl { + max-width: 1140px; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip.show { + opacity: 0.9; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +/* line 163, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header:empty { + display: none; +} + +/* line 168, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel { + position: relative; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel.pointer-event { + touch-action: pan-y; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-item { + -webkit-transition: none; + transition: none; + } +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +/* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + -webkit-transition: 0s 0.6s opacity; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + /* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + -webkit-transition: none; + transition: none; + } +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-control-prev, + .carousel-control-next { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev { + left: 0; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next { + right: 0; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +/* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators li { + box-sizing: content-box; + -webkit-box-flex: 0; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-indicators li { + -webkit-transition: none; + transition: none; + } +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators .active { + opacity: 1; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-baseline { + vertical-align: baseline !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-top { + vertical-align: top !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-middle { + vertical-align: middle !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-bottom { + vertical-align: bottom !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-bottom { + vertical-align: text-bottom !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-top { + vertical-align: text-top !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-primary { + background-color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-secondary { + background-color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-success { + background-color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-info { + background-color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-warning { + background-color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-danger { + background-color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-light { + background-color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-dark { + background-color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-white { + background-color: #fff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-transparent { + background-color: transparent !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border { + border: 1px solid #dee2e6 !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-0 { + border: 0 !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top-0 { + border-top: 0 !important; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right-0 { + border-right: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom-0 { + border-bottom: 0 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left-0 { + border-left: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-primary { + border-color: #007bff !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-secondary { + border-color: #6c757d !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-success { + border-color: #28a745 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-info { + border-color: #17a2b8 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-warning { + border-color: #ffc107 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-danger { + border-color: #dc3545 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-light { + border-color: #f8f9fa !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-dark { + border-color: #343a40 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-white { + border-color: #fff !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-sm { + border-radius: 0.2rem !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded { + border-radius: 0.25rem !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-lg { + border-radius: 0.3rem !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-circle { + border-radius: 50% !important; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-pill { + border-radius: 50rem !important; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-0 { + border-radius: 0 !important; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-none { + display: none !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline { + display: inline !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-block { + display: inline-block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-block { + display: block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table { + display: table !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-row { + display: table-row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-cell { + display: table-cell !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-flex { + display: -webkit-box !important; + display: flex !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media print { + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-none { + display: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline { + display: inline !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-block { + display: inline-block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-block { + display: block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table { + display: table !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-row { + display: table-row !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-cell { + display: table-cell !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive::before { + display: block; + content: ""; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-21by9::before { + padding-top: 42.85714%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-4by3::before { + padding-top: 75%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-1by1::before { + padding-top: 100%; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap { + flex-wrap: wrap !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-nowrap { + flex-wrap: nowrap !important; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; +} + +/* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-center { + -webkit-box-pack: center !important; + justify-content: center !important; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-around { + justify-content: space-around !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-start { + -webkit-box-align: start !important; + align-items: flex-start !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-end { + -webkit-box-align: end !important; + align-items: flex-end !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-center { + -webkit-box-align: center !important; + align-items: center !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-start { + align-content: flex-start !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-end { + align-content: flex-end !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-center { + align-content: center !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-between { + align-content: space-between !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-around { + align-content: space-around !important; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-stretch { + align-content: stretch !important; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-auto { + align-self: auto !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-start { + align-self: flex-start !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-end { + align-self: flex-end !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-center { + align-self: center !important; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-baseline { + align-self: baseline !important; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-left { + float: left !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-right { + float: right !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-none { + float: none !important; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-auto { + overflow: auto !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-hidden { + overflow: hidden !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-static { + position: static !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-relative { + position: relative !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-absolute { + position: absolute !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-fixed { + position: fixed !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_screenreaders.scss */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_screen-reader.scss */ +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-none { + box-shadow: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-25 { + width: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-50 { + width: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-75 { + width: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-100 { + width: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-auto { + width: auto !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-25 { + height: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-50 { + height: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-75 { + height: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-100 { + height: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-auto { + height: auto !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mw-100 { + max-width: 100% !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mh-100 { + max-height: 100% !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vw-100 { + min-width: 100vw !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vh-100 { + min-height: 100vh !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vw-100 { + width: 100vw !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vh-100 { + height: 100vh !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_stretched-link.scss */ +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: transparent; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-0 { + margin: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-1 { + margin: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-2 { + margin: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-3 { + margin: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-4 { + margin: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-5 { + margin: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-0 { + padding: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-1 { + padding: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-2 { + padding: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-3 { + padding: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-4 { + padding: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-5 { + padding: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n1 { + margin: -0.25rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n2 { + margin: -0.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n3 { + margin: -1rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n4 { + margin: -1.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n5 { + margin: -3rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-auto { + margin: auto !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +/* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-justify { + text-align: justify !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-wrap { + white-space: normal !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-nowrap { + white-space: nowrap !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-left { + text-align: left !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-right { + text-align: right !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-center { + text-align: center !important; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-lowercase { + text-transform: lowercase !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-uppercase { + text-transform: uppercase !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-capitalize { + text-transform: capitalize !important; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-light { + font-weight: 300 !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-lighter { + font-weight: lighter !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-normal { + font-weight: 400 !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bold { + font-weight: 700 !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bolder { + font-weight: bolder !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-italic { + font-style: italic !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white { + color: #fff !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-primary { + color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-secondary { + color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-success { + color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-info { + color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-warning { + color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-danger { + color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-light { + color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-dark { + color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-body { + color: #212529 !important; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-muted { + color: #6c757d !important; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-decoration-none { + text-decoration: none !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-reset { + color: inherit !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.visible { + visibility: visible !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.invisible { + visibility: hidden !important; +} + +@media print { + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + a:not(.btn) { + text-decoration: underline; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + abbr[title]::after { + content: " (" attr(title) ")"; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre { + white-space: pre-wrap !important; + } + /* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + /* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + thead { + display: table-header-group; + } + /* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + tr, + img { + page-break-inside: avoid; + } + /* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + /* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + /* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + body { + min-width: 992px !important; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .container { + min-width: 992px !important; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .navbar { + display: none; + } + /* line 103, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .badge { + border: 1px solid #000; + } + /* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table { + border-collapse: collapse !important; + } + /* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table td, + .table th { + background-color: #fff !important; + } + /* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + /* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark { + color: inherit; + } + /* line 126, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + /* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url("/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot?v=4.7.0"); + src: url("/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot?v=4.7.0#iefix") format("embedded-opentype"), url("/assets/font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2?v=4.7.0") format("woff2"), url("/assets/font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff?v=4.7.0") format("woff"), url("/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf?v=4.7.0") format("truetype"), url("/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg?v=4.7.0#fontawesomeregular") format("svg"); + font-weight: normal; + font-style: normal; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_core.scss */ +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* makes the font 33% larger relative to the icon container */ +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -15%; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-2x { + font-size: 2em; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-3x { + font-size: 3em; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-4x { + font-size: 4em; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_larger.scss */ +.fa-5x { + font-size: 5em; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_fixed-width.scss */ +.fa-fw { + width: 1.28571em; + text-align: center; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-ul { + padding-left: 0; + margin-left: 2.14286em; + list-style-type: none; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-ul > li { + position: relative; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-li { + position: absolute; + left: -2.14286em; + width: 2.14286em; + top: 0.14286em; + text-align: center; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_list.scss */ +.fa-li.fa-lg { + left: -1.85714em; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-pull-left { + float: left; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa-pull-right { + float: right; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.fa-pull-left { + margin-right: .3em; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.fa-pull-right { + margin-left: .3em; +} + +/* Deprecated as of 4.4.0 */ +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.pull-right { + float: right; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.pull-left { + float: left; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.pull-left { + margin-right: .3em; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_bordered-pulled.scss */ +.fa.pull-right { + margin-left: .3em; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_animated.scss */ +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_animated.scss */ +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_rotated-flipped.scss */ +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + -webkit-filter: none; + filter: none; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-1x, .fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-1x { + line-height: inherit; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-stack-2x { + font-size: 2em; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_stacked.scss */ +.fa-inverse { + color: #fff; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glass:before { + content: ""; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-music:before { + content: ""; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search:before { + content: ""; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-o:before { + content: ""; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heart:before { + content: ""; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star:before { + content: ""; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-o:before { + content: ""; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user:before { + content: ""; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-film:before { + content: ""; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th-large:before { + content: ""; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th:before { + content: ""; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-th-list:before { + content: ""; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check:before { + content: ""; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: ""; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search-plus:before { + content: ""; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-search-minus:before { + content: ""; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-power-off:before { + content: ""; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-signal:before { + content: ""; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gear:before, +.fa-cog:before { + content: ""; +} + +/* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trash-o:before { + content: ""; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-home:before { + content: ""; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-o:before { + content: ""; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-clock-o:before { + content: ""; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-road:before { + content: ""; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-download:before { + content: ""; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-down:before { + content: ""; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-up:before { + content: ""; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-inbox:before { + content: ""; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play-circle-o:before { + content: ""; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rotate-right:before, +.fa-repeat:before { + content: ""; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-refresh:before { + content: ""; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-alt:before { + content: ""; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lock:before { + content: ""; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag:before { + content: ""; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-headphones:before { + content: ""; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-off:before { + content: ""; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-down:before { + content: ""; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-up:before { + content: ""; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-qrcode:before { + content: ""; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-barcode:before { + content: ""; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tag:before { + content: ""; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tags:before { + content: ""; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-book:before { + content: ""; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bookmark:before { + content: ""; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-print:before { + content: ""; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-camera:before { + content: ""; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-font:before { + content: ""; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bold:before { + content: ""; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-italic:before { + content: ""; +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-text-height:before { + content: ""; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-text-width:before { + content: ""; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-left:before { + content: ""; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-center:before { + content: ""; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-right:before { + content: ""; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-align-justify:before { + content: ""; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list:before { + content: ""; +} + +/* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dedent:before, +.fa-outdent:before { + content: ""; +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-indent:before { + content: ""; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-video-camera:before { + content: ""; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: ""; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pencil:before { + content: ""; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-marker:before { + content: ""; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-adjust:before { + content: ""; +} + +/* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tint:before { + content: ""; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-edit:before, +.fa-pencil-square-o:before { + content: ""; +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-square-o:before { + content: ""; +} + +/* line 78, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-square-o:before { + content: ""; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows:before { + content: ""; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-step-backward:before { + content: ""; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fast-backward:before { + content: ""; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-backward:before { + content: ""; +} + +/* line 83, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play:before { + content: ""; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause:before { + content: ""; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop:before { + content: ""; +} + +/* line 86, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-forward:before { + content: ""; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fast-forward:before { + content: ""; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-step-forward:before { + content: ""; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eject:before { + content: ""; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-left:before { + content: ""; +} + +/* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-right:before { + content: ""; +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-circle:before { + content: ""; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-circle:before { + content: ""; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-circle:before { + content: ""; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-circle:before { + content: ""; +} + +/* line 96, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question-circle:before { + content: ""; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-info-circle:before { + content: ""; +} + +/* line 98, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-crosshairs:before { + content: ""; +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-circle-o:before { + content: ""; +} + +/* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-circle-o:before { + content: ""; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ban:before { + content: ""; +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-left:before { + content: ""; +} + +/* line 103, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-right:before { + content: ""; +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-up:before { + content: ""; +} + +/* line 105, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-down:before { + content: ""; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-forward:before, +.fa-share:before { + content: ""; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-expand:before { + content: ""; +} + +/* line 109, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-compress:before { + content: ""; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus:before { + content: ""; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus:before { + content: ""; +} + +/* line 112, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-asterisk:before { + content: ""; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exclamation-circle:before { + content: ""; +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gift:before { + content: ""; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-leaf:before { + content: ""; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fire:before { + content: ""; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eye:before { + content: ""; +} + +/* line 118, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eye-slash:before { + content: ""; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-warning:before, +.fa-exclamation-triangle:before { + content: ""; +} + +/* line 121, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plane:before { + content: ""; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar:before { + content: ""; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-random:before { + content: ""; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comment:before { + content: ""; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-magnet:before { + content: ""; +} + +/* line 126, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-up:before { + content: ""; +} + +/* line 127, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-down:before { + content: ""; +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-retweet:before { + content: ""; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-cart:before { + content: ""; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder:before { + content: ""; +} + +/* line 131, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-open:before { + content: ""; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-v:before { + content: ""; +} + +/* line 133, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-h:before { + content: ""; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: ""; +} + +/* line 136, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitter-square:before { + content: ""; +} + +/* line 137, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-square:before { + content: ""; +} + +/* line 138, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-camera-retro:before { + content: ""; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-key:before { + content: ""; +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gears:before, +.fa-cogs:before { + content: ""; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comments:before { + content: ""; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-o-up:before { + content: ""; +} + +/* line 144, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-o-down:before { + content: ""; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-half:before { + content: ""; +} + +/* line 146, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heart-o:before { + content: ""; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sign-out:before { + content: ""; +} + +/* line 148, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linkedin-square:before { + content: ""; +} + +/* line 149, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumb-tack:before { + content: ""; +} + +/* line 150, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-external-link:before { + content: ""; +} + +/* line 151, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sign-in:before { + content: ""; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trophy:before { + content: ""; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github-square:before { + content: ""; +} + +/* line 154, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-upload:before { + content: ""; +} + +/* line 155, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lemon-o:before { + content: ""; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-phone:before { + content: ""; +} + +/* line 157, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-square-o:before { + content: ""; +} + +/* line 158, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bookmark-o:before { + content: ""; +} + +/* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-phone-square:before { + content: ""; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitter:before { + content: ""; +} + +/* line 161, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-f:before, +.fa-facebook:before { + content: ""; +} + +/* line 163, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github:before { + content: ""; +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlock:before { + content: ""; +} + +/* line 165, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-credit-card:before { + content: ""; +} + +/* line 166, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-feed:before, +.fa-rss:before { + content: ""; +} + +/* line 168, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hdd-o:before { + content: ""; +} + +/* line 169, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bullhorn:before { + content: ""; +} + +/* line 170, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell:before { + content: ""; +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-certificate:before { + content: ""; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-right:before { + content: ""; +} + +/* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-left:before { + content: ""; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-up:before { + content: ""; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-o-down:before { + content: ""; +} + +/* line 176, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-left:before { + content: ""; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-right:before { + content: ""; +} + +/* line 178, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-up:before { + content: ""; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-down:before { + content: ""; +} + +/* line 180, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-globe:before { + content: ""; +} + +/* line 181, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wrench:before { + content: ""; +} + +/* line 182, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tasks:before { + content: ""; +} + +/* line 183, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-filter:before { + content: ""; +} + +/* line 184, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-briefcase:before { + content: ""; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrows-alt:before { + content: ""; +} + +/* line 186, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-group:before, +.fa-users:before { + content: ""; +} + +/* line 188, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chain:before, +.fa-link:before { + content: ""; +} + +/* line 190, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud:before { + content: ""; +} + +/* line 191, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flask:before { + content: ""; +} + +/* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cut:before, +.fa-scissors:before { + content: ""; +} + +/* line 194, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-copy:before, +.fa-files-o:before { + content: ""; +} + +/* line 196, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paperclip:before { + content: ""; +} + +/* line 197, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-save:before, +.fa-floppy-o:before { + content: ""; +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-square:before { + content: ""; +} + +/* line 200, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: ""; +} + +/* line 203, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-ul:before { + content: ""; +} + +/* line 204, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-list-ol:before { + content: ""; +} + +/* line 205, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-strikethrough:before { + content: ""; +} + +/* line 206, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-underline:before { + content: ""; +} + +/* line 207, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-table:before { + content: ""; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-magic:before { + content: ""; +} + +/* line 209, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-truck:before { + content: ""; +} + +/* line 210, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest:before { + content: ""; +} + +/* line 211, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest-square:before { + content: ""; +} + +/* line 212, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus-square:before { + content: ""; +} + +/* line 213, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus:before { + content: ""; +} + +/* line 214, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-money:before { + content: ""; +} + +/* line 215, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-down:before { + content: ""; +} + +/* line 216, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-up:before { + content: ""; +} + +/* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-left:before { + content: ""; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-caret-right:before { + content: ""; +} + +/* line 219, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-columns:before { + content: ""; +} + +/* line 220, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unsorted:before, +.fa-sort:before { + content: ""; +} + +/* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-down:before, +.fa-sort-desc:before { + content: ""; +} + +/* line 224, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-up:before, +.fa-sort-asc:before { + content: ""; +} + +/* line 226, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope:before { + content: ""; +} + +/* line 227, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linkedin:before { + content: ""; +} + +/* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rotate-left:before, +.fa-undo:before { + content: ""; +} + +/* line 230, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-legal:before, +.fa-gavel:before { + content: ""; +} + +/* line 232, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dashboard:before, +.fa-tachometer:before { + content: ""; +} + +/* line 234, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comment-o:before { + content: ""; +} + +/* line 235, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-comments-o:before { + content: ""; +} + +/* line 236, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flash:before, +.fa-bolt:before { + content: ""; +} + +/* line 238, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sitemap:before { + content: ""; +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-umbrella:before { + content: ""; +} + +/* line 240, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paste:before, +.fa-clipboard:before { + content: ""; +} + +/* line 242, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lightbulb-o:before { + content: ""; +} + +/* line 243, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exchange:before { + content: ""; +} + +/* line 244, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud-download:before { + content: ""; +} + +/* line 245, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cloud-upload:before { + content: ""; +} + +/* line 246, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-md:before { + content: ""; +} + +/* line 247, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stethoscope:before { + content: ""; +} + +/* line 248, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-suitcase:before { + content: ""; +} + +/* line 249, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-o:before { + content: ""; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-coffee:before { + content: ""; +} + +/* line 251, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cutlery:before { + content: ""; +} + +/* line 252, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-text-o:before { + content: ""; +} + +/* line 253, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-building-o:before { + content: ""; +} + +/* line 254, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hospital-o:before { + content: ""; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ambulance:before { + content: ""; +} + +/* line 256, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-medkit:before { + content: ""; +} + +/* line 257, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fighter-jet:before { + content: ""; +} + +/* line 258, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-beer:before { + content: ""; +} + +/* line 259, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-h-square:before { + content: ""; +} + +/* line 260, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-square:before { + content: ""; +} + +/* line 261, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-left:before { + content: ""; +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-right:before { + content: ""; +} + +/* line 263, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-up:before { + content: ""; +} + +/* line 264, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-double-down:before { + content: ""; +} + +/* line 265, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-left:before { + content: ""; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-right:before { + content: ""; +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-up:before { + content: ""; +} + +/* line 268, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angle-down:before { + content: ""; +} + +/* line 269, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-desktop:before { + content: ""; +} + +/* line 270, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-laptop:before { + content: ""; +} + +/* line 271, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tablet:before { + content: ""; +} + +/* line 272, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mobile-phone:before, +.fa-mobile:before { + content: ""; +} + +/* line 274, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-o:before { + content: ""; +} + +/* line 275, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quote-left:before { + content: ""; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quote-right:before { + content: ""; +} + +/* line 277, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spinner:before { + content: ""; +} + +/* line 278, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle:before { + content: ""; +} + +/* line 279, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-reply:before, +.fa-reply:before { + content: ""; +} + +/* line 281, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-github-alt:before { + content: ""; +} + +/* line 282, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-o:before { + content: ""; +} + +/* line 283, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-folder-open-o:before { + content: ""; +} + +/* line 284, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-smile-o:before { + content: ""; +} + +/* line 285, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-frown-o:before { + content: ""; +} + +/* line 286, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meh-o:before { + content: ""; +} + +/* line 287, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gamepad:before { + content: ""; +} + +/* line 288, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-keyboard-o:before { + content: ""; +} + +/* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag-o:before { + content: ""; +} + +/* line 290, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flag-checkered:before { + content: ""; +} + +/* line 291, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-terminal:before { + content: ""; +} + +/* line 292, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-code:before { + content: ""; +} + +/* line 293, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: ""; +} + +/* line 295, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: ""; +} + +/* line 298, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-location-arrow:before { + content: ""; +} + +/* line 299, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-crop:before { + content: ""; +} + +/* line 300, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-code-fork:before { + content: ""; +} + +/* line 301, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlink:before, +.fa-chain-broken:before { + content: ""; +} + +/* line 303, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question:before { + content: ""; +} + +/* line 304, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-info:before { + content: ""; +} + +/* line 305, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-exclamation:before { + content: ""; +} + +/* line 306, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-superscript:before { + content: ""; +} + +/* line 307, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-subscript:before { + content: ""; +} + +/* line 308, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eraser:before { + content: ""; +} + +/* line 309, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-puzzle-piece:before { + content: ""; +} + +/* line 310, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microphone:before { + content: ""; +} + +/* line 311, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microphone-slash:before { + content: ""; +} + +/* line 312, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shield:before { + content: ""; +} + +/* line 313, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-o:before { + content: ""; +} + +/* line 314, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fire-extinguisher:before { + content: ""; +} + +/* line 315, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rocket:before { + content: ""; +} + +/* line 316, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-maxcdn:before { + content: ""; +} + +/* line 317, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-left:before { + content: ""; +} + +/* line 318, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-right:before { + content: ""; +} + +/* line 319, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-up:before { + content: ""; +} + +/* line 320, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chevron-circle-down:before { + content: ""; +} + +/* line 321, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-html5:before { + content: ""; +} + +/* line 322, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-css3:before { + content: ""; +} + +/* line 323, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-anchor:before { + content: ""; +} + +/* line 324, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-unlock-alt:before { + content: ""; +} + +/* line 325, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bullseye:before { + content: ""; +} + +/* line 326, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ellipsis-h:before { + content: ""; +} + +/* line 327, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ellipsis-v:before { + content: ""; +} + +/* line 328, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rss-square:before { + content: ""; +} + +/* line 329, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-play-circle:before { + content: ""; +} + +/* line 330, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ticket:before { + content: ""; +} + +/* line 331, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-square:before { + content: ""; +} + +/* line 332, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-minus-square-o:before { + content: ""; +} + +/* line 333, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-level-up:before { + content: ""; +} + +/* line 334, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-level-down:before { + content: ""; +} + +/* line 335, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-check-square:before { + content: ""; +} + +/* line 336, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pencil-square:before { + content: ""; +} + +/* line 337, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-external-link-square:before { + content: ""; +} + +/* line 338, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-square:before { + content: ""; +} + +/* line 339, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-compass:before { + content: ""; +} + +/* line 340, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: ""; +} + +/* line 342, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: ""; +} + +/* line 344, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: ""; +} + +/* line 346, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-euro:before, +.fa-eur:before { + content: ""; +} + +/* line 348, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gbp:before { + content: ""; +} + +/* line 349, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dollar:before, +.fa-usd:before { + content: ""; +} + +/* line 351, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-rupee:before, +.fa-inr:before { + content: ""; +} + +/* line 353, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: ""; +} + +/* line 357, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: ""; +} + +/* line 360, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-won:before, +.fa-krw:before { + content: ""; +} + +/* line 362, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitcoin:before, +.fa-btc:before { + content: ""; +} + +/* line 364, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file:before { + content: ""; +} + +/* line 365, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-text:before { + content: ""; +} + +/* line 366, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-alpha-asc:before { + content: ""; +} + +/* line 367, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-alpha-desc:before { + content: ""; +} + +/* line 368, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-amount-asc:before { + content: ""; +} + +/* line 369, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-amount-desc:before { + content: ""; +} + +/* line 370, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-numeric-asc:before { + content: ""; +} + +/* line 371, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sort-numeric-desc:before { + content: ""; +} + +/* line 372, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-up:before { + content: ""; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thumbs-down:before { + content: ""; +} + +/* line 374, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube-square:before { + content: ""; +} + +/* line 375, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube:before { + content: ""; +} + +/* line 376, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-xing:before { + content: ""; +} + +/* line 377, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-xing-square:before { + content: ""; +} + +/* line 378, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-youtube-play:before { + content: ""; +} + +/* line 379, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dropbox:before { + content: ""; +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stack-overflow:before { + content: ""; +} + +/* line 381, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-instagram:before { + content: ""; +} + +/* line 382, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-flickr:before { + content: ""; +} + +/* line 383, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-adn:before { + content: ""; +} + +/* line 384, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitbucket:before { + content: ""; +} + +/* line 385, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bitbucket-square:before { + content: ""; +} + +/* line 386, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tumblr:before { + content: ""; +} + +/* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tumblr-square:before { + content: ""; +} + +/* line 388, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-down:before { + content: ""; +} + +/* line 389, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-up:before { + content: ""; +} + +/* line 390, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-left:before { + content: ""; +} + +/* line 391, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-long-arrow-right:before { + content: ""; +} + +/* line 392, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-apple:before { + content: ""; +} + +/* line 393, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-windows:before { + content: ""; +} + +/* line 394, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-android:before { + content: ""; +} + +/* line 395, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linux:before { + content: ""; +} + +/* line 396, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dribbble:before { + content: ""; +} + +/* line 397, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-skype:before { + content: ""; +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-foursquare:before { + content: ""; +} + +/* line 399, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trello:before { + content: ""; +} + +/* line 400, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-female:before { + content: ""; +} + +/* line 401, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-male:before { + content: ""; +} + +/* line 402, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gittip:before, +.fa-gratipay:before { + content: ""; +} + +/* line 404, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sun-o:before { + content: ""; +} + +/* line 405, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-moon-o:before { + content: ""; +} + +/* line 406, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-archive:before { + content: ""; +} + +/* line 407, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bug:before { + content: ""; +} + +/* line 408, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vk:before { + content: ""; +} + +/* line 409, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-weibo:before { + content: ""; +} + +/* line 410, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-renren:before { + content: ""; +} + +/* line 411, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pagelines:before { + content: ""; +} + +/* line 412, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stack-exchange:before { + content: ""; +} + +/* line 413, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-right:before { + content: ""; +} + +/* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-arrow-circle-o-left:before { + content: ""; +} + +/* line 415, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: ""; +} + +/* line 417, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dot-circle-o:before { + content: ""; +} + +/* line 418, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wheelchair:before { + content: ""; +} + +/* line 419, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vimeo-square:before { + content: ""; +} + +/* line 420, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-turkish-lira:before, +.fa-try:before { + content: ""; +} + +/* line 422, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plus-square-o:before { + content: ""; +} + +/* line 423, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-space-shuttle:before { + content: ""; +} + +/* line 424, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-slack:before { + content: ""; +} + +/* line 425, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-square:before { + content: ""; +} + +/* line 426, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wordpress:before { + content: ""; +} + +/* line 427, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-openid:before { + content: ""; +} + +/* line 428, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: ""; +} + +/* line 431, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: ""; +} + +/* line 433, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yahoo:before { + content: ""; +} + +/* line 434, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google:before { + content: ""; +} + +/* line 435, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit:before { + content: ""; +} + +/* line 436, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit-square:before { + content: ""; +} + +/* line 437, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stumbleupon-circle:before { + content: ""; +} + +/* line 438, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stumbleupon:before { + content: ""; +} + +/* line 439, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-delicious:before { + content: ""; +} + +/* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-digg:before { + content: ""; +} + +/* line 441, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper-pp:before { + content: ""; +} + +/* line 442, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper-alt:before { + content: ""; +} + +/* line 443, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drupal:before { + content: ""; +} + +/* line 444, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-joomla:before { + content: ""; +} + +/* line 445, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-language:before { + content: ""; +} + +/* line 446, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fax:before { + content: ""; +} + +/* line 447, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-building:before { + content: ""; +} + +/* line 448, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-child:before { + content: ""; +} + +/* line 449, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paw:before { + content: ""; +} + +/* line 450, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spoon:before { + content: ""; +} + +/* line 451, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cube:before { + content: ""; +} + +/* line 452, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cubes:before { + content: ""; +} + +/* line 453, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-behance:before { + content: ""; +} + +/* line 454, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-behance-square:before { + content: ""; +} + +/* line 455, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-steam:before { + content: ""; +} + +/* line 456, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-steam-square:before { + content: ""; +} + +/* line 457, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-recycle:before { + content: ""; +} + +/* line 458, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-automobile:before, +.fa-car:before { + content: ""; +} + +/* line 460, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cab:before, +.fa-taxi:before { + content: ""; +} + +/* line 462, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tree:before { + content: ""; +} + +/* line 463, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-spotify:before { + content: ""; +} + +/* line 464, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-deviantart:before { + content: ""; +} + +/* line 465, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-soundcloud:before { + content: ""; +} + +/* line 466, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-database:before { + content: ""; +} + +/* line 467, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-pdf-o:before { + content: ""; +} + +/* line 468, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-word-o:before { + content: ""; +} + +/* line 469, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-excel-o:before { + content: ""; +} + +/* line 470, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-powerpoint-o:before { + content: ""; +} + +/* line 471, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: ""; +} + +/* line 474, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: ""; +} + +/* line 476, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: ""; +} + +/* line 478, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: ""; +} + +/* line 480, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-file-code-o:before { + content: ""; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vine:before { + content: ""; +} + +/* line 482, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-codepen:before { + content: ""; +} + +/* line 483, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-jsfiddle:before { + content: ""; +} + +/* line 484, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: ""; +} + +/* line 489, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-o-notch:before { + content: ""; +} + +/* line 490, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: ""; +} + +/* line 493, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ge:before, +.fa-empire:before { + content: ""; +} + +/* line 495, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-git-square:before { + content: ""; +} + +/* line 496, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-git:before { + content: ""; +} + +/* line 497, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: ""; +} + +/* line 500, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tencent-weibo:before { + content: ""; +} + +/* line 501, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-qq:before { + content: ""; +} + +/* line 502, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wechat:before, +.fa-weixin:before { + content: ""; +} + +/* line 504, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-send:before, +.fa-paper-plane:before { + content: ""; +} + +/* line 506, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-send-o:before, +.fa-paper-plane-o:before { + content: ""; +} + +/* line 508, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-history:before { + content: ""; +} + +/* line 509, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-circle-thin:before { + content: ""; +} + +/* line 510, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-header:before { + content: ""; +} + +/* line 511, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paragraph:before { + content: ""; +} + +/* line 512, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sliders:before { + content: ""; +} + +/* line 513, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-alt:before { + content: ""; +} + +/* line 514, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-share-alt-square:before { + content: ""; +} + +/* line 515, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bomb:before { + content: ""; +} + +/* line 516, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: ""; +} + +/* line 518, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tty:before { + content: ""; +} + +/* line 519, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-binoculars:before { + content: ""; +} + +/* line 520, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-plug:before { + content: ""; +} + +/* line 521, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-slideshare:before { + content: ""; +} + +/* line 522, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-twitch:before { + content: ""; +} + +/* line 523, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yelp:before { + content: ""; +} + +/* line 524, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-newspaper-o:before { + content: ""; +} + +/* line 525, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wifi:before { + content: ""; +} + +/* line 526, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calculator:before { + content: ""; +} + +/* line 527, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paypal:before { + content: ""; +} + +/* line 528, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-wallet:before { + content: ""; +} + +/* line 529, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-visa:before { + content: ""; +} + +/* line 530, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-mastercard:before { + content: ""; +} + +/* line 531, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-discover:before { + content: ""; +} + +/* line 532, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-amex:before { + content: ""; +} + +/* line 533, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-paypal:before { + content: ""; +} + +/* line 534, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-stripe:before { + content: ""; +} + +/* line 535, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-slash:before { + content: ""; +} + +/* line 536, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bell-slash-o:before { + content: ""; +} + +/* line 537, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trash:before { + content: ""; +} + +/* line 538, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-copyright:before { + content: ""; +} + +/* line 539, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-at:before { + content: ""; +} + +/* line 540, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eyedropper:before { + content: ""; +} + +/* line 541, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-paint-brush:before { + content: ""; +} + +/* line 542, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-birthday-cake:before { + content: ""; +} + +/* line 543, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-area-chart:before { + content: ""; +} + +/* line 544, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pie-chart:before { + content: ""; +} + +/* line 545, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-line-chart:before { + content: ""; +} + +/* line 546, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lastfm:before { + content: ""; +} + +/* line 547, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-lastfm-square:before { + content: ""; +} + +/* line 548, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-off:before { + content: ""; +} + +/* line 549, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-toggle-on:before { + content: ""; +} + +/* line 550, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bicycle:before { + content: ""; +} + +/* line 551, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bus:before { + content: ""; +} + +/* line 552, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ioxhost:before { + content: ""; +} + +/* line 553, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-angellist:before { + content: ""; +} + +/* line 554, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc:before { + content: ""; +} + +/* line 555, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: ""; +} + +/* line 558, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meanpath:before { + content: ""; +} + +/* line 559, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-buysellads:before { + content: ""; +} + +/* line 560, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-connectdevelop:before { + content: ""; +} + +/* line 561, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-dashcube:before { + content: ""; +} + +/* line 562, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-forumbee:before { + content: ""; +} + +/* line 563, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-leanpub:before { + content: ""; +} + +/* line 564, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sellsy:before { + content: ""; +} + +/* line 565, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shirtsinbulk:before { + content: ""; +} + +/* line 566, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-simplybuilt:before { + content: ""; +} + +/* line 567, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-skyatlas:before { + content: ""; +} + +/* line 568, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cart-plus:before { + content: ""; +} + +/* line 569, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cart-arrow-down:before { + content: ""; +} + +/* line 570, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-diamond:before { + content: ""; +} + +/* line 571, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ship:before { + content: ""; +} + +/* line 572, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-secret:before { + content: ""; +} + +/* line 573, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-motorcycle:before { + content: ""; +} + +/* line 574, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-street-view:before { + content: ""; +} + +/* line 575, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-heartbeat:before { + content: ""; +} + +/* line 576, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus:before { + content: ""; +} + +/* line 577, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars:before { + content: ""; +} + +/* line 578, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mercury:before { + content: ""; +} + +/* line 579, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-intersex:before, +.fa-transgender:before { + content: ""; +} + +/* line 581, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-transgender-alt:before { + content: ""; +} + +/* line 582, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus-double:before { + content: ""; +} + +/* line 583, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-double:before { + content: ""; +} + +/* line 584, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-venus-mars:before { + content: ""; +} + +/* line 585, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke:before { + content: ""; +} + +/* line 586, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke-v:before { + content: ""; +} + +/* line 587, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mars-stroke-h:before { + content: ""; +} + +/* line 588, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-neuter:before { + content: ""; +} + +/* line 589, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-genderless:before { + content: ""; +} + +/* line 590, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-facebook-official:before { + content: ""; +} + +/* line 591, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pinterest-p:before { + content: ""; +} + +/* line 592, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-whatsapp:before { + content: ""; +} + +/* line 593, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-server:before { + content: ""; +} + +/* line 594, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-plus:before { + content: ""; +} + +/* line 595, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-times:before { + content: ""; +} + +/* line 596, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hotel:before, +.fa-bed:before { + content: ""; +} + +/* line 598, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viacoin:before { + content: ""; +} + +/* line 599, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-train:before { + content: ""; +} + +/* line 600, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-subway:before { + content: ""; +} + +/* line 601, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-medium:before { + content: ""; +} + +/* line 602, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yc:before, +.fa-y-combinator:before { + content: ""; +} + +/* line 604, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-optin-monster:before { + content: ""; +} + +/* line 605, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-opencart:before { + content: ""; +} + +/* line 606, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-expeditedssl:before { + content: ""; +} + +/* line 607, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: ""; +} + +/* line 610, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: ""; +} + +/* line 612, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-2:before, +.fa-battery-half:before { + content: ""; +} + +/* line 614, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-1:before, +.fa-battery-quarter:before { + content: ""; +} + +/* line 616, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-battery-0:before, +.fa-battery-empty:before { + content: ""; +} + +/* line 618, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mouse-pointer:before { + content: ""; +} + +/* line 619, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-i-cursor:before { + content: ""; +} + +/* line 620, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-object-group:before { + content: ""; +} + +/* line 621, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-object-ungroup:before { + content: ""; +} + +/* line 622, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sticky-note:before { + content: ""; +} + +/* line 623, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-sticky-note-o:before { + content: ""; +} + +/* line 624, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-jcb:before { + content: ""; +} + +/* line 625, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-cc-diners-club:before { + content: ""; +} + +/* line 626, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-clone:before { + content: ""; +} + +/* line 627, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-balance-scale:before { + content: ""; +} + +/* line 628, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-o:before { + content: ""; +} + +/* line 629, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: ""; +} + +/* line 631, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: ""; +} + +/* line 633, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: ""; +} + +/* line 635, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hourglass:before { + content: ""; +} + +/* line 636, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: ""; +} + +/* line 638, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: ""; +} + +/* line 640, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-scissors-o:before { + content: ""; +} + +/* line 641, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-lizard-o:before { + content: ""; +} + +/* line 642, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-spock-o:before { + content: ""; +} + +/* line 643, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-pointer-o:before { + content: ""; +} + +/* line 644, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hand-peace-o:before { + content: ""; +} + +/* line 645, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-trademark:before { + content: ""; +} + +/* line 646, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-registered:before { + content: ""; +} + +/* line 647, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-creative-commons:before { + content: ""; +} + +/* line 648, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gg:before { + content: ""; +} + +/* line 649, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gg-circle:before { + content: ""; +} + +/* line 650, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tripadvisor:before { + content: ""; +} + +/* line 651, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-odnoklassniki:before { + content: ""; +} + +/* line 652, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-odnoklassniki-square:before { + content: ""; +} + +/* line 653, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-get-pocket:before { + content: ""; +} + +/* line 654, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wikipedia-w:before { + content: ""; +} + +/* line 655, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-safari:before { + content: ""; +} + +/* line 656, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-chrome:before { + content: ""; +} + +/* line 657, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-firefox:before { + content: ""; +} + +/* line 658, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-opera:before { + content: ""; +} + +/* line 659, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-internet-explorer:before { + content: ""; +} + +/* line 660, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-tv:before, +.fa-television:before { + content: ""; +} + +/* line 662, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-contao:before { + content: ""; +} + +/* line 663, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-500px:before { + content: ""; +} + +/* line 664, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-amazon:before { + content: ""; +} + +/* line 665, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-plus-o:before { + content: ""; +} + +/* line 666, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-minus-o:before { + content: ""; +} + +/* line 667, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-times-o:before { + content: ""; +} + +/* line 668, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-calendar-check-o:before { + content: ""; +} + +/* line 669, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-industry:before { + content: ""; +} + +/* line 670, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-pin:before { + content: ""; +} + +/* line 671, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-signs:before { + content: ""; +} + +/* line 672, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map-o:before { + content: ""; +} + +/* line 673, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-map:before { + content: ""; +} + +/* line 674, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-commenting:before { + content: ""; +} + +/* line 675, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-commenting-o:before { + content: ""; +} + +/* line 676, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-houzz:before { + content: ""; +} + +/* line 677, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vimeo:before { + content: ""; +} + +/* line 678, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-black-tie:before { + content: ""; +} + +/* line 679, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fonticons:before { + content: ""; +} + +/* line 680, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-reddit-alien:before { + content: ""; +} + +/* line 681, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-edge:before { + content: ""; +} + +/* line 682, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-credit-card-alt:before { + content: ""; +} + +/* line 683, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-codiepie:before { + content: ""; +} + +/* line 684, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-modx:before { + content: ""; +} + +/* line 685, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fort-awesome:before { + content: ""; +} + +/* line 686, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-usb:before { + content: ""; +} + +/* line 687, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-product-hunt:before { + content: ""; +} + +/* line 688, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-mixcloud:before { + content: ""; +} + +/* line 689, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-scribd:before { + content: ""; +} + +/* line 690, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause-circle:before { + content: ""; +} + +/* line 691, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pause-circle-o:before { + content: ""; +} + +/* line 692, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop-circle:before { + content: ""; +} + +/* line 693, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-stop-circle-o:before { + content: ""; +} + +/* line 694, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-bag:before { + content: ""; +} + +/* line 695, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shopping-basket:before { + content: ""; +} + +/* line 696, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-hashtag:before { + content: ""; +} + +/* line 697, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bluetooth:before { + content: ""; +} + +/* line 698, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bluetooth-b:before { + content: ""; +} + +/* line 699, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-percent:before { + content: ""; +} + +/* line 700, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-gitlab:before { + content: ""; +} + +/* line 701, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpbeginner:before { + content: ""; +} + +/* line 702, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpforms:before { + content: ""; +} + +/* line 703, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envira:before { + content: ""; +} + +/* line 704, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-universal-access:before { + content: ""; +} + +/* line 705, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wheelchair-alt:before { + content: ""; +} + +/* line 706, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-question-circle-o:before { + content: ""; +} + +/* line 707, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-blind:before { + content: ""; +} + +/* line 708, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-audio-description:before { + content: ""; +} + +/* line 709, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-volume-control-phone:before { + content: ""; +} + +/* line 710, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-braille:before { + content: ""; +} + +/* line 711, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-assistive-listening-systems:before { + content: ""; +} + +/* line 712, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: ""; +} + +/* line 714, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: ""; +} + +/* line 717, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glide:before { + content: ""; +} + +/* line 718, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-glide-g:before { + content: ""; +} + +/* line 719, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-signing:before, +.fa-sign-language:before { + content: ""; +} + +/* line 721, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-low-vision:before { + content: ""; +} + +/* line 722, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viadeo:before { + content: ""; +} + +/* line 723, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-viadeo-square:before { + content: ""; +} + +/* line 724, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat:before { + content: ""; +} + +/* line 725, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat-ghost:before { + content: ""; +} + +/* line 726, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snapchat-square:before { + content: ""; +} + +/* line 727, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-pied-piper:before { + content: ""; +} + +/* line 728, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-first-order:before { + content: ""; +} + +/* line 729, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-yoast:before { + content: ""; +} + +/* line 730, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-themeisle:before { + content: ""; +} + +/* line 731, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: ""; +} + +/* line 733, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-fa:before, +.fa-font-awesome:before { + content: ""; +} + +/* line 735, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-handshake-o:before { + content: ""; +} + +/* line 736, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-open:before { + content: ""; +} + +/* line 737, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-envelope-open-o:before { + content: ""; +} + +/* line 738, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-linode:before { + content: ""; +} + +/* line 739, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-address-book:before { + content: ""; +} + +/* line 740, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-address-book-o:before { + content: ""; +} + +/* line 741, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vcard:before, +.fa-address-card:before { + content: ""; +} + +/* line 743, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-vcard-o:before, +.fa-address-card-o:before { + content: ""; +} + +/* line 745, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-circle:before { + content: ""; +} + +/* line 746, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-circle-o:before { + content: ""; +} + +/* line 747, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-user-o:before { + content: ""; +} + +/* line 748, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-id-badge:before { + content: ""; +} + +/* line 749, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drivers-license:before, +.fa-id-card:before { + content: ""; +} + +/* line 751, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: ""; +} + +/* line 753, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-quora:before { + content: ""; +} + +/* line 754, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-free-code-camp:before { + content: ""; +} + +/* line 755, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-telegram:before { + content: ""; +} + +/* line 756, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: ""; +} + +/* line 759, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: ""; +} + +/* line 761, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: ""; +} + +/* line 763, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: ""; +} + +/* line 765, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: ""; +} + +/* line 767, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-shower:before { + content: ""; +} + +/* line 768, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: ""; +} + +/* line 771, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-podcast:before { + content: ""; +} + +/* line 772, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-maximize:before { + content: ""; +} + +/* line 773, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-minimize:before { + content: ""; +} + +/* line 774, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-window-restore:before { + content: ""; +} + +/* line 775, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-rectangle:before, +.fa-window-close:before { + content: ""; +} + +/* line 777, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: ""; +} + +/* line 779, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-bandcamp:before { + content: ""; +} + +/* line 780, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-grav:before { + content: ""; +} + +/* line 781, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-etsy:before { + content: ""; +} + +/* line 782, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-imdb:before { + content: ""; +} + +/* line 783, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-ravelry:before { + content: ""; +} + +/* line 784, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-eercast:before { + content: ""; +} + +/* line 785, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-microchip:before { + content: ""; +} + +/* line 786, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-snowflake-o:before { + content: ""; +} + +/* line 787, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-superpowers:before { + content: ""; +} + +/* line 788, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-wpexplorer:before { + content: ""; +} + +/* line 789, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_icons.scss */ +.fa-meetup:before { + content: ""; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_screen-reader.scss */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/font-awesome-sass-4.7.0/assets/stylesheets/font-awesome/_mixins.scss */ +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__clear { + position: relative; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results { + display: block; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option { + padding: 6px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option[aria-selected] { + cursor: pointer; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown { + left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown { + display: block; + padding: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown.select2-search--hide { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee)); + background-image: linear-gradient(to bottom, #fff 50%, #eee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc)); + background-image: linear-gradient(to bottom, #eee 50%, #ccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee)); + background-image: linear-gradient(to bottom, #fff 0%, #eee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#fff)); + background-image: linear-gradient(to bottom, #eee 50%, #fff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown { + background-color: #fff; + border: 1px solid transparent; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--above { + border-bottom: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--below { + border-top: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: #fff; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single { + height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder { + color: #757575; + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow { + position: absolute; + top: 50%; + right: 3px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b { + top: 60%; + border-color: #343a40 transparent transparent; + border-style: solid; + border-width: 5px 4px 0; + width: 0; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered { + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-search--dropdown .select2-search__field { + border: 1px solid #ced4da; + border-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-results__message { + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple { + min-height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice { + color: #343a40; + border: 1px solid #bdc6d0; + border-radius: .2rem; + padding: 0 5px 0 0; + cursor: pointer; + float: left; + margin-top: .3em; + margin-right: 5px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove { + color: #bdc6d0; + font-weight: 700; + margin-left: 3px; + margin-right: 1px; + padding-right: 3px; + padding-left: 3px; + float: left; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #343a40; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container { + display: block; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container :focus { + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group .select2-container--bootstrap4 { + -webkit-box-flex: 1; + flex-grow: 1; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group-prepend ~ .select2-container--bootstrap4 .select2-selection { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection { + border: 1px solid #ced4da; + border-radius: .25rem; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus .select2-selection { + border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection, .select2-container--bootstrap4.select2-container--disabled .select2-selection { + background-color: #e9ecef; + cursor: not-allowed; + border-color: #ced4da; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field, .select2-container--bootstrap4.select2-container--disabled .select2-search__field { + background-color: transparent; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:invalid ~ .select2-container--bootstrap4 .select2-selection, select.is-invalid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #dc3545; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:valid ~ .select2-container--bootstrap4 .select2-selection, select.is-valid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #28a745; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown { + border-color: #ced4da; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above { + border-top: 1px solid #ced4da; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true] { + background-color: #e9ecef; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option--highlighted, .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] { + background-color: #007bff; + color: #f8f9fa; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results > .select2-results__options { + max-height: 15em; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__group { + padding: 6px; + display: list-item; + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear { + width: 1.2em; + height: 1.2em; + line-height: 1.15em; + padding-left: .3em; + margin-top: .5em; + border-radius: 100%; + background-color: #6c757d; + color: #f8f9fa; + float: right; + margin-right: .3em; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear:hover { + background-color: #343a40; +} + +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 7, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 14, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 17, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 20, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 23, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 26, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 30, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 40, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 49, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 52, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 55, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 58, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 61, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 64, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 67, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 72, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 77, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 86, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 96, app/assets/stylesheets/bootstrap-datepicker.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 100, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 105, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 109, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 115, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 119, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 137, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 159, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 169, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 172, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 175, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 184, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 204, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 226, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 236, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 255, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 277, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 287, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 306, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 328, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 338, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 350, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 354, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 360, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 379, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 401, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 411, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 415, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 418, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 424, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 430, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 434, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 440, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 444, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 448, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input { + text-align: center; +} + +/* line 451, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 456, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 461, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 7, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 14, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 17, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 20, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 23, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 26, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 30, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 40, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 49, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 52, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 55, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 58, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 61, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 64, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 67, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 72, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 77, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 86, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 96, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 100, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 105, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 109, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 115, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 119, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 137, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 159, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 169, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 172, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 175, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 184, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 204, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 226, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 236, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 255, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 277, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 287, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 306, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 328, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 338, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 350, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 354, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 360, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 379, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 401, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 411, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 415, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 418, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 424, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 430, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 434, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 440, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 444, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 448, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input { + text-align: center; +} + +/* line 451, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 456, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 461, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 20px; + padding: 4px 5px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} + +/* line 477, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + list-style: none; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + color: #333333; + font-size: 13px; + line-height: 20px; +} + +/* line 504, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu th, +.datepicker.datepicker-inline th, +.datepicker.dropdown-menu td, +.datepicker.datepicker-inline td { + padding: 4px 5px; +} +/* line 1, app/assets/stylesheets/admins/common.scss */ +.admin-body-container { + padding: 20px; + -webkit-box-flex: 1; + flex: 1; + min-height: 100vh; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + overflow-y: scroll; + /* 面包屑 */ + /* 内容表格 */ + /* 分页 */ + /* 搜索表单 */ +} + +/* line 9, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content { + -webkit-box-flex: 1; + flex: 1; + font-size: 14px; +} + +/* line 13, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content .box { + padding: 20px; + border-radius: 5px; + background: #fff; +} + +/* line 21, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .breadcrumb { + padding-left: 5px; + font-size: 20px; + background: unset; +} + +/* line 28, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table { + table-layout: fixed; +} + +/* line 31, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table td { + vertical-align: middle; +} + +/* line 37, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data:hover { + color: darkgrey; + background: unset; +} + +/* line 42, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data > td { + text-align: center; + height: 300px; +} + +/* line 51, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .action-container .action { + padding: 0 3px; +} + +/* line 57, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container { + margin-top: 20px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; +} + +/* line 64, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .paginate-total { + margin-bottom: 10px; + color: darkgrey; +} + +/* line 69, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .pagination { + margin-bottom: 0px; +} + +/* line 75, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container { + display: -webkit-box; + display: flex; + margin-bottom: 20px; +} + +/* line 79, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 82, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form * { + font-size: 14px; +} + +/* line 84, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form select, .admin-body-container .search-form-container .search-form input { + margin-right: 10px; + font-size: 14px; +} + +/* line 91, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error { + color: grey; + min-height: 300px; +} + +/* line 95, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-code { + font-size: 80px; +} + +/* line 99, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-text { + font-size: 24px; +} + +/* line 105, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .nav-tabs .nav-link { + padding: 0.5rem 2rem; +} + +/* line 2, app/assets/stylesheets/admins/daily_school_statistics.scss */ +.admins-daily-school-statistics-index-page .daily-school-statistic-list-container { + text-align: center; +} + +/* line 4, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 4, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 3, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .time-select { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 8, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .type-box .btn { + margin: 0 5px; +} + +/* line 11, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .search-input { + width: 220px; +} + +/* line 15, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .contrast-date-container { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 22, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .contrast-column-select { + position: absolute; + right: 30px; + top: 15px; + width: 130px; +} + +/* line 29, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .relative { + position: relative; +} + +/* line 33, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .right-border::after { + position: absolute; + top: 10px; + right: 0; + content: ''; + width: 0; + height: 20px; + border-right: 1px solid #000; +} + +/* line 4, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar { + min-width: 200px; + max-width: 200px; + background: #272822; + color: #fff; + -webkit-transition: all 0.5s; + transition: all 0.5s; + overflow-y: scroll; +} + +/* line 9, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar::-webkit-scrollbar { + display: none; +} + +/* line 13, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active { + min-width: 60px; + max-width: 60px; + text-align: center; +} + +/* line 18, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header { + padding: 10px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 23, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header-logo { + padding-left: 5px; + overflow: hidden; + margin-bottom: 10px; +} + +/* line 30, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a { + padding: 10px; + text-align: center; + font-size: 0.85em; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 37, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a span { + display: none; +} + +/* line 39, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a i { + margin-right: 0; + display: block; + font-size: 1.8em; + margin-bottom: 5px; + width: 30px; + height: 20px; +} + +/* line 49, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); +} + +/* line 58, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a { + padding: 10px !important; +} + +/* line 61, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a span { + display: none; +} + +/* line 63, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a i { + margin-left: 0px; + display: block; + font-size: 0.8em; + width: 30px; + height: 10px; +} + +/* line 73, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar .sidebar-header { + padding: 20px; + background: #272822; + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 81, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + cursor: pointer; + text-align: right; +} + +/* line 88, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active { + width: 40px; + height: 30px; + background: #3f3f3f; + border: 1px solid grey; + border-radius: 3px; +} + +/* line 95, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.fold { + display: none; +} + +/* line 96, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.unfold { + display: block; +} + +/* line 99, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.fold { + display: block; +} + +/* line 102, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.unfold { + display: none; +} + +/* line 105, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar a, #sidebar a:hover, #sidebar a:focus { + color: inherit; + text-decoration: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; +} + +/* line 111, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar > ul > li > a > i { + width: 14px; + height: 14px; +} + +/* line 117, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul.components { + padding: 20px 0; + border-bottom: 1px solid #3f3f3f; +} + +/* line 122, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul p { + color: #fff; + padding: 10px; +} + +/* line 127, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a { + padding: 10px; + font-size: 1em; + display: block; + text-align: left; +} + +/* line 133, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a i { + margin-right: 10px; + font-size: 1em; + margin-bottom: 5px; +} + +/* line 141, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li a:hover, #sidebar ul li a.active { + color: #fff; + background: #276891; +} + +/* line 147, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li.active > a, #sidebar ul a[aria-expanded="true"] { + color: #fff; +} + +/* line 152, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul ul a { + font-size: 0.9em !important; + padding-left: 30px !important; + background: #3f3f3f; +} + +@media (max-width: 768px) { + /* line 162, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active { + padding: 10px 5px; + min-width: 40px; + max-width: 40px; + text-align: center; + margin-left: 0; + -webkit-transform: none; + transform: none; + } + /* line 170, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header { + padding: 0px; + } + /* line 173, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header .sidebar-header-logo { + display: none; + } + /* line 177, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header #sidebarCollapse { + width: 30px; + height: 20px; + } + /* line 183, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a { + padding: 10px; + font-size: 0.85em; + } + /* line 187, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a i { + margin-right: 0; + display: block; + margin-bottom: 5px; + } + /* line 194, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active > ul > li > a > i { + font-size: 1.8em; + } + /* line 198, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul ul a { + padding: 10px !important; + } + /* line 207, app/assets/stylesheets/admins/sidebar.scss */ + .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); + } +} + +/* line 4, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-3 { + color: #6c757d; +} + +/* line 5, app/assets/stylesheets/admins/users.scss */ +.admins-users-index-page .users-list-container { + text-align: center; +} + +/* line 12, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-content, .admins-users-update-page .user-edit-container .user-info-content { + padding-top: 5px; + padding-bottom: 5px; + height: 80px; +} + +/* line 18, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-name, .admins-users-update-page .user-edit-container .user-info-name { + -webkit-box-flex: 2; + flex: 2; + font-size: 16px; +} + +/* line 23, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth, .admins-users-update-page .user-edit-container .user-info-auth { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 26, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth i.fa, .admins-users-update-page .user-edit-container .user-info-auth i.fa { + margin-right: 10px; + font-size: 16px; + width: 16px; + height: 16px; + text-align: center; +} + +/* line 11, app/assets/stylesheets/admin.scss */ +body { + width: 100vw; + height: 100vh; + max-width: 100vw; + max-height: 100vh; + display: -webkit-box; + display: flex; + -webkit-box-align: stretch; + align-items: stretch; + font-size: 14px; + background: #efefef; +} + +/* line 23, app/assets/stylesheets/admin.scss */ +a:hover { + text-decoration: unset; +} + +/* line 28, app/assets/stylesheets/admin.scss */ +textarea.danger, input.danger { + border-color: #dc3545 !important; +} + +/* line 32, app/assets/stylesheets/admin.scss */ +label.error { + color: #dc3545 !important; +} + +/* line 38, app/assets/stylesheets/admin.scss */ +.simple_form .form-group .collection_radio_buttons { + margin-bottom: 0px; +} + +/* line 42, app/assets/stylesheets/admin.scss */ +.simple_form .form-group .form-check-inline { + height: calc(1.5em + 0.75rem + 2px); +} + +/* line 48, app/assets/stylesheets/admin.scss */ +.flex-1 { + -webkit-box-flex: 1; + flex: 1; +} +@charset "UTF-8"; +/* line 1, app/assets/stylesheets/admins/common.scss */ +.admin-body-container { + padding: 20px; + -webkit-box-flex: 1; + flex: 1; + min-height: 100vh; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + overflow-y: scroll; + /* 面包屑 */ + /* 内容表格 */ + /* 分页 */ + /* 搜索表单 */ +} + +/* line 9, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content { + -webkit-box-flex: 1; + flex: 1; + font-size: 14px; +} + +/* line 13, app/assets/stylesheets/admins/common.scss */ +.admin-body-container > .content .box { + padding: 20px; + border-radius: 5px; + background: #fff; +} + +/* line 21, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .breadcrumb { + padding-left: 5px; + font-size: 20px; + background: unset; +} + +/* line 28, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table { + table-layout: fixed; +} + +/* line 31, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table td { + vertical-align: middle; +} + +/* line 37, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data:hover { + color: darkgrey; + background: unset; +} + +/* line 42, app/assets/stylesheets/admins/common.scss */ +.admin-body-container table tr.no-data > td { + text-align: center; + height: 300px; +} + +/* line 51, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .action-container .action { + padding: 0 3px; +} + +/* line 57, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container { + margin-top: 20px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + -webkit-box-align: center; + align-items: center; +} + +/* line 64, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .paginate-total { + margin-bottom: 10px; + color: darkgrey; +} + +/* line 69, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .paginate-container .pagination { + margin-bottom: 0px; +} + +/* line 75, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container { + display: -webkit-box; + display: flex; + margin-bottom: 20px; +} + +/* line 79, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 82, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form * { + font-size: 14px; +} + +/* line 84, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .search-form-container .search-form select, .admin-body-container .search-form-container .search-form input { + margin-right: 10px; + font-size: 14px; +} + +/* line 91, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error { + color: grey; + min-height: 300px; +} + +/* line 95, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-code { + font-size: 80px; +} + +/* line 99, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .global-error-text { + font-size: 24px; +} + +/* line 105, app/assets/stylesheets/admins/common.scss */ +.admin-body-container .nav-tabs .nav-link { + padding: 0.5rem 2rem; +} +/* line 2, app/assets/stylesheets/admins/daily_school_statistics.scss */ +.admins-daily-school-statistics-index-page .daily-school-statistic-list-container { + text-align: center; +} +/* line 4, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/identity_authentications.scss */ +.admins-identity-authentications-index-page .identity-authentication-list-container span.apply-status-3 { + color: #6c757d; +} +/* line 4, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/professional_authentications.scss */ +.admins-professional-authentications-index-page .professional-authentication-list-container span.apply-status-3 { + color: #6c757d; +} +/* line 3, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .time-select { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 8, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .type-box .btn { + margin: 0 5px; +} + +/* line 11, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .search-input { + width: 220px; +} + +/* line 15, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-form .contrast-date-container { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 22, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .contrast-column-select { + position: absolute; + right: 30px; + top: 15px; + width: 130px; +} + +/* line 29, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .relative { + position: relative; +} + +/* line 33, app/assets/stylesheets/admins/school_statistics.scss */ +.admins-school-statistics-index-page .school-statistic-list-container .right-border::after { + position: absolute; + top: 10px; + right: 0; + content: ''; + width: 0; + height: 20px; + border-right: 1px solid #000; +} +/* line 4, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/shixun_authorizations.scss */ +.admins-shixun-authorizations-index-page .shixun-authorization-list-container span.apply-status-3 { + color: #6c757d; +} +/* line 1, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar { + min-width: 200px; + max-width: 200px; + background: #272822; + color: #fff; + -webkit-transition: all 0.5s; + transition: all 0.5s; + overflow-y: scroll; +} + +/* line 9, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar::-webkit-scrollbar { + display: none; +} + +/* line 13, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active { + min-width: 60px; + max-width: 60px; + text-align: center; +} + +/* line 18, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header { + padding: 10px; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 23, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .sidebar-header-logo { + padding-left: 5px; + overflow: hidden; + margin-bottom: 10px; +} + +/* line 30, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a { + padding: 10px; + text-align: center; + font-size: 0.85em; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 37, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a span { + display: none; +} + +/* line 39, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul li a i { + margin-right: 0; + display: block; + font-size: 1.8em; + margin-bottom: 5px; + width: 30px; + height: 20px; +} + +/* line 49, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); +} + +/* line 58, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a { + padding: 10px !important; +} + +/* line 61, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a span { + display: none; +} + +/* line 63, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar.active ul ul a i { + margin-left: 0px; + display: block; + font-size: 0.8em; + width: 30px; + height: 10px; +} + +/* line 73, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar .sidebar-header { + padding: 20px; + background: #272822; + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 81, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + cursor: pointer; + text-align: right; +} + +/* line 88, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active { + width: 40px; + height: 30px; + background: #3f3f3f; + border: 1px solid grey; + border-radius: 3px; +} + +/* line 95, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.fold { + display: none; +} + +/* line 96, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse.active i.unfold { + display: block; +} + +/* line 99, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.fold { + display: block; +} + +/* line 102, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar #sidebarCollapse i.unfold { + display: none; +} + +/* line 105, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar a, #sidebar a:hover, #sidebar a:focus { + color: inherit; + text-decoration: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; +} + +/* line 111, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar > ul > li > a > i { + width: 14px; + height: 14px; +} + +/* line 117, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul.components { + padding: 20px 0; + border-bottom: 1px solid #3f3f3f; +} + +/* line 122, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul p { + color: #fff; + padding: 10px; +} + +/* line 127, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a { + padding: 10px; + font-size: 1em; + display: block; + text-align: left; +} + +/* line 133, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li > a i { + margin-right: 10px; + font-size: 1em; + margin-bottom: 5px; +} + +/* line 141, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li a:hover, #sidebar ul li a.active { + color: #fff; + background: #276891; +} + +/* line 147, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul li.active > a, #sidebar ul a[aria-expanded="true"] { + color: #fff; +} + +/* line 152, app/assets/stylesheets/admins/sidebar.scss */ +#sidebar ul ul a { + font-size: 0.9em !important; + padding-left: 30px !important; + background: #3f3f3f; +} + +@media (max-width: 768px) { + /* line 162, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active { + padding: 10px 5px; + min-width: 40px; + max-width: 40px; + text-align: center; + margin-left: 0; + -webkit-transform: none; + transform: none; + } + /* line 170, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header { + padding: 0px; + } + /* line 173, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header .sidebar-header-logo { + display: none; + } + /* line 177, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active .sidebar-header #sidebarCollapse { + width: 30px; + height: 20px; + } + /* line 183, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a { + padding: 10px; + font-size: 0.85em; + } + /* line 187, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul li a i { + margin-right: 0; + display: block; + margin-bottom: 5px; + } + /* line 194, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active > ul > li > a > i { + font-size: 1.8em; + } + /* line 198, app/assets/stylesheets/admins/sidebar.scss */ + #sidebar.active ul ul a { + padding: 10px !important; + } + /* line 207, app/assets/stylesheets/admins/sidebar.scss */ + .dropdown-toggle::after { + top: auto; + bottom: 10px; + right: 50%; + -webkit-transform: translateX(50%); + transform: translateX(50%); + } +} +/* line 4, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-1 { + color: #28a745; +} + +/* line 5, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-2 { + color: #dc3545; +} + +/* line 6, app/assets/stylesheets/admins/subject_authorizations.scss */ +.admins-subject-authorizations-index-page .subject-authorization-list-container span.apply-status-3 { + color: #6c757d; +} +/* line 5, app/assets/stylesheets/admins/users.scss */ +.admins-users-index-page .users-list-container { + text-align: center; +} + +/* line 12, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-content, .admins-users-update-page .user-edit-container .user-info-content { + padding-top: 5px; + padding-bottom: 5px; + height: 80px; +} + +/* line 18, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-name, .admins-users-update-page .user-edit-container .user-info-name { + -webkit-box-flex: 2; + flex: 2; + font-size: 16px; +} + +/* line 23, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth, .admins-users-update-page .user-edit-container .user-info-auth { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 26, app/assets/stylesheets/admins/users.scss */ +.admins-users-edit-page .user-edit-container .user-info-auth i.fa, .admins-users-update-page .user-edit-container .user-info-auth i.fa { + margin-right: 10px; + font-size: 16px; + width: 16px; + height: 16px; + text-align: center; +} +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_root.scss */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[tabindex="-1"]:focus { + outline: 0 !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +p { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dt { + font-weight: 700; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +/* line 148, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +blockquote { + margin: 0 0 1rem; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +b, +strong { + font-weight: bolder; +} + +/* line 157, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +small { + font-size: 80%; +} + +/* line 166, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sub { + bottom: -.25em; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +sup { + top: -.5em; +} + +/* line 182, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +/* line 226, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +/* line 240, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +figure { + margin: 0 0 1rem; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +img { + vertical-align: middle; + border-style: none; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +svg { + overflow: hidden; + vertical-align: middle; +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +table { + border-collapse: collapse; +} + +/* line 271, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +/* line 279, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +th { + text-align: inherit; +} + +/* line 290, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +/* line 299, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button { + border-radius: 0; +} + +/* line 308, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +/* line 313, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +/* line 324, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +input { + overflow: visible; +} + +/* line 329, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +select { + text-transform: none; +} + +/* line 337, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +select { + word-wrap: normal; +} + +/* line 345, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/* line 358, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +/* line 365, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +/* line 392, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +textarea { + overflow: auto; + resize: vertical; +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +/* line 413, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +/* line 425, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +progress { + vertical-align: baseline; +} + +/* line 430, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/* line 435, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +/* line 448, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* line 457, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +/* line 466, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +output { + display: inline-block; +} + +/* line 470, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +summary { + display: list-item; + cursor: pointer; +} + +/* line 475, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +template { + display: none; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_reboot.scss */ +[hidden] { + display: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h1, .h1 { + font-size: 2.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h2, .h2 { + font-size: 2rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h3, .h3 { + font-size: 1.75rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h4, .h4 { + font-size: 1.5rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h5, .h5 { + font-size: 1.25rem; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +h6, .h6 { + font-size: 1rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +small, +.small { + font-size: 80%; + font-weight: 400; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-unstyled { + padding-left: 0; + list-style: none; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline { + padding-left: 0; + list-style: none; +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item { + display: inline-block; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +/* line 112, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_type.scss */ +.blockquote-footer::before { + content: "\2014\00A0"; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-fluid { + max-width: 100%; + height: auto; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure { + display: inline-block; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_images.scss */ +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +a > code { + color: inherit; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_code.scss */ +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ + .container { + max-width: 1140px; + } +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_grid.scss */ +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .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-sm, +.col-sm-auto, .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-md, +.col-md-auto, .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-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.col-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-last { + -webkit-box-ordinal-group: 14; + order: 13; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-0 { + -webkit-box-ordinal-group: 1; + order: 0; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-1 { + -webkit-box-ordinal-group: 2; + order: 1; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-2 { + -webkit-box-ordinal-group: 3; + order: 2; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-3 { + -webkit-box-ordinal-group: 4; + order: 3; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-4 { + -webkit-box-ordinal-group: 5; + order: 4; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-5 { + -webkit-box-ordinal-group: 6; + order: 5; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-6 { + -webkit-box-ordinal-group: 7; + order: 6; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-7 { + -webkit-box-ordinal-group: 8; + order: 7; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-8 { + -webkit-box-ordinal-group: 9; + order: 8; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-9 { + -webkit-box-ordinal-group: 10; + order: 9; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-10 { + -webkit-box-ordinal-group: 11; + order: 10; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-11 { + -webkit-box-ordinal-group: 12; + order: 11; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.order-12 { + -webkit-box-ordinal-group: 13; + order: 12; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-1 { + margin-left: 8.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-2 { + margin-left: 16.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-3 { + margin-left: 25%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-4 { + margin-left: 33.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-5 { + margin-left: 41.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-6 { + margin-left: 50%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-7 { + margin-left: 58.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-8 { + margin-left: 66.66667%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-9 { + margin-left: 75%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-10 { + margin-left: 83.33333%; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ +.offset-11 { + margin-left: 91.66667%; +} + +@media (min-width: 576px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-sm-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-sm-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-sm-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 768px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-md-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-md-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-md-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 992px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-lg-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-lg-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-lg-11 { + margin-left: 91.66667%; + } +} + +@media (min-width: 1200px) { + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + max-width: 100%; + } + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-auto { + -webkit-box-flex: 0; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-1 { + -webkit-box-flex: 0; + flex: 0 0 8.33333%; + max-width: 8.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-2 { + -webkit-box-flex: 0; + flex: 0 0 16.66667%; + max-width: 16.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-3 { + -webkit-box-flex: 0; + flex: 0 0 25%; + max-width: 25%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-4 { + -webkit-box-flex: 0; + flex: 0 0 33.33333%; + max-width: 33.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-5 { + -webkit-box-flex: 0; + flex: 0 0 41.66667%; + max-width: 41.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-6 { + -webkit-box-flex: 0; + flex: 0 0 50%; + max-width: 50%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-7 { + -webkit-box-flex: 0; + flex: 0 0 58.33333%; + max-width: 58.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-8 { + -webkit-box-flex: 0; + flex: 0 0 66.66667%; + max-width: 66.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-9 { + -webkit-box-flex: 0; + flex: 0 0 75%; + max-width: 75%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-10 { + -webkit-box-flex: 0; + flex: 0 0 83.33333%; + max-width: 83.33333%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-11 { + -webkit-box-flex: 0; + flex: 0 0 91.66667%; + max-width: 91.66667%; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .col-xl-12 { + -webkit-box-flex: 0; + flex: 0 0 100%; + max-width: 100%; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-first { + -webkit-box-ordinal-group: 0; + order: -1; + } + /* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-last { + -webkit-box-ordinal-group: 14; + order: 13; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-0 { + -webkit-box-ordinal-group: 1; + order: 0; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-1 { + -webkit-box-ordinal-group: 2; + order: 1; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-2 { + -webkit-box-ordinal-group: 3; + order: 2; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-3 { + -webkit-box-ordinal-group: 4; + order: 3; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-4 { + -webkit-box-ordinal-group: 5; + order: 4; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-5 { + -webkit-box-ordinal-group: 6; + order: 5; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-6 { + -webkit-box-ordinal-group: 7; + order: 6; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-7 { + -webkit-box-ordinal-group: 8; + order: 7; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-8 { + -webkit-box-ordinal-group: 9; + order: 8; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-9 { + -webkit-box-ordinal-group: 10; + order: 9; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-10 { + -webkit-box-ordinal-group: 11; + order: 10; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-11 { + -webkit-box-ordinal-group: 12; + order: 11; + } + /* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .order-xl-12 { + -webkit-box-ordinal-group: 13; + order: 12; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-0 { + margin-left: 0; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-1 { + margin-left: 8.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-2 { + margin-left: 16.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-3 { + margin-left: 25%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-4 { + margin-left: 33.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-5 { + margin-left: 41.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-6 { + margin-left: 50%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-7 { + margin-left: 58.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-8 { + margin-left: 66.66667%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-9 { + margin-left: 75%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-10 { + margin-left: 83.33333%; + } + /* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_grid-framework.scss */ + .offset-xl-11 { + margin-left: 91.66667%; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered { + border: 1px solid #dee2e6; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-info:hover { + background-color: #abdde5; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-light:hover { + background-color: #ececf6; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_table-row.scss */ +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark { + color: #fff; + background-color: #343a40; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-bordered { + border: 0; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + /* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tables.scss */ +.table-responsive > .table-bordered { + border: 0; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-control { + -webkit-transition: none; + transition: none; + } +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +/* line 137, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 155, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +/* line 161, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +textarea.form-control { + height: auto; +} + +/* line 170, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-group { + margin-bottom: 1rem; +} + +/* line 174, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-text { + display: block; + margin-top: 0.25rem; +} + +/* line 184, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +/* line 190, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +/* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +/* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +/* line 213, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +/* line 218, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-label { + margin-bottom: 0; +} + +/* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline { + display: -webkit-inline-box; + display: inline-flex; + -webkit-box-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +/* line 229, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 104, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 139, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +/* line 175, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +/* line 185, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_forms.scss */ +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* line 258, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline { + display: -webkit-box; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + /* line 272, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline label { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + margin-bottom: 0; + } + /* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-group { + display: -webkit-box; + display: flex; + -webkit-box-flex: 0; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + -webkit-box-align: center; + align-items: center; + margin-bottom: 0; + } + /* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + /* line 296, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-control-plaintext { + display: inline-block; + } + /* line 300, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + /* line 307, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + /* line 314, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + /* line 322, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control { + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + } + /* line 326, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_forms.scss */ + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ + .btn { + -webkit-transition: none; + transition: none; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn:hover { + color: #212529; + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 66, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +/* line 82, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_buttons.scss */ +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +/* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 120, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block { + display: block; + width: 100%; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_buttons.scss */ +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .fade { + -webkit-transition: none; + transition: none; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.fade:not(.show) { + opacity: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapse:not(.show) { + display: none; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_transitions.scss */ + .collapsing { + -webkit-transition: none; + transition: none; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-toggle { + white-space: nowrap; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-left { + right: auto; + left: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 70, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::after { + display: none; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_caret.scss */ +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +/* line 97, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +/* line 106, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-menu.show { + display: block; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_dropdown.scss */ +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: inline-flex; + vertical-align: middle; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-toolbar .input-group { + width: auto; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +/* line 89, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: center; + justify-content: center; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +/* line 121, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +/* line 127, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_button-group.scss */ +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: stretch; + align-items: stretch; + width: 100%; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend, +.input-group-append { + display: -webkit-box; + display: flex; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +/* line 80, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-prepend { + margin-right: -1px; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-append { + margin-left: -1px; +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 118, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +/* line 152, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +/* line 164, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 186, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_input-group.scss */ +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-inline { + display: -webkit-inline-box; + display: inline-flex; + margin-right: 1rem; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +/* line 75, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 133, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 144, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +/* line 150, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch { + padding-left: 2.25rem; +} + +/* line 171, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-switch .custom-control-label::after { + -webkit-transition: none; + transition: none; + } +} + +/* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +/* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +/* line 212, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 230, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +/* line 250, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +/* line 257, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +/* line 263, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select::-ms-expand { + display: none; +} + +/* line 268, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +/* line 289, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +/* line 297, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +/* line 305, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 310, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +/* line 315, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +/* line 320, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +/* line 325, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +/* line 342, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +/* line 366, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 373, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus { + outline: none; +} + +/* line 378, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 379, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 380, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 383, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-focus-outer { + border: 0; +} + +/* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 387, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 398, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +/* line 403, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 414, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-moz-range-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 424, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +/* line 429, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +/* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + /* line 440, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-range::-ms-thumb { + -webkit-transition: none; + transition: none; + } +} + +/* line 453, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +/* line 458, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +/* line 469, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 474, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +/* line 481, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +/* line 485, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +/* line 489, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +/* line 493, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +/* line 497, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +/* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ +.custom-control-label::before, +.custom-file-label, +.custom-select { + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 503, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_custom-forms.scss */ + .custom-control-label::before, + .custom-file-label, + .custom-select { + -webkit-transition: none; + transition: none; + } +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 77, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-fill .nav-item { + -webkit-box-flex: 1; + flex: 1 1 auto; + text-align: center; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.nav-justified .nav-item { + flex-basis: 0; + -webkit-box-flex: 1; + flex-grow: 1; + text-align: center; +} + +/* line 114, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .tab-pane { + display: none; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_nav.scss */ +.tab-content > .active { + display: block; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar { + position: relative; + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar > .container, +.navbar > .container-fluid { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: justify; + justify-content: space-between; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +/* line 99, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-collapse { + flex-basis: 100%; + -webkit-box-flex: 1; + flex-grow: 1; + -webkit-box-align: center; + align-items: center; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +/* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + /* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + /* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; + } + /* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + /* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + /* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + flex-wrap: nowrap; + } + /* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; + } + /* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +/* line 140, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row nowrap; + -webkit-box-pack: start; + justify-content: flex-start; +} + +/* line 142, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +/* line 160, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand > .container, +.navbar-expand > .container-fluid { + flex-wrap: nowrap; +} + +/* line 172, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: flex !important; + flex-basis: auto; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-expand .navbar-toggler { + display: none; +} + +/* line 194, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 203, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +/* line 210, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +/* line 215, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +/* line 223, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +/* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 232, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +/* line 234, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +/* line 246, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-brand { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +/* line 255, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +/* line 267, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +/* line 275, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +/* line 280, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* line 284, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +/* line 286, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_navbar.scss */ +.navbar-dark .navbar-text a { + color: #fff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > hr { + margin-right: 0; + margin-left: 0; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-body { + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1.25rem; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-title { + margin-bottom: 0.75rem; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-text:last-child { + margin-bottom: 0; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.card-link:hover { + text-decoration: none; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-link + .card-link { + margin-left: 1.25rem; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +/* line 102, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +/* line 109, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +/* line 115, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +/* line 124, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 147, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + /* line 156, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-deck .card { + display: -webkit-box; + display: flex; + -webkit-box-flex: 1; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +/* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +/* line 179, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + /* line 173, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-flow: row wrap; + } + /* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card { + -webkit-box-flex: 1; + flex: 1 0 0%; + margin-bottom: 0; + } + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + /* line 199, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + /* line 202, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + /* line 207, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + /* line 214, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + /* line 222, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +/* line 239, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + /* line 238, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + /* line 249, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +/* line 262, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card { + overflow: hidden; +} + +/* line 266, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +/* line 270, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +/* line 276, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 281, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 285, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_card.scss */ +.accordion > .card .card-header { + margin-bottom: -1px; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb { + display: -webkit-box; + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_breadcrumb.scss */ +.breadcrumb-item.active { + color: #6c757d; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.pagination { + display: -webkit-box; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_pagination.scss */ +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_pagination.scss */ +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ + .badge { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge:empty { + display: none; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.btn .badge { + position: relative; + top: -1px; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-primary { + color: #fff; + background-color: #007bff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-success { + color: #fff; + background-color: #28a745; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_badge.scss */ +.badge-dark { + color: #fff; + background-color: #343a40; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_badge.scss */ +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + /* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ + .jumbotron { + padding: 4rem 2rem; + } +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_jumbotron.scss */ +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-heading { + color: inherit; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-link { + font-weight: 700; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible { + padding-right: 4rem; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary hr { + border-top-color: #9fcdff; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-primary .alert-link { + color: #002752; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-secondary .alert-link { + color: #202326; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success hr { + border-top-color: #b1dfbb; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-success .alert-link { + color: #0b2e13; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info hr { + border-top-color: #abdde5; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-info .alert-link { + color: #062c33; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning hr { + border-top-color: #ffe8a1; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-warning .alert-link { + color: #533f03; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger hr { + border-top-color: #f1b0b7; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-danger .alert-link { + color: #491217; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light hr { + border-top-color: #ececf6; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-light .alert-link { + color: #686868; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_alert.scss */ +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark hr { + border-top-color: #b9bbbe; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_alert.scss */ +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress { + display: -webkit-box; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar { + -webkit-transition: none; + transition: none; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-striped { + background-image: 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-size: 1rem 1rem; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + /* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_progress.scss */ + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_media.scss */ +.media-body { + -webkit-box-flex: 1; + flex: 1; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group { + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +/* line 71, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +/* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +/* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +/* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +/* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + /* line 88, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + /* line 91, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +/* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_list-group.scss */ +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_list-group.scss */ +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:hover { + color: #000; + text-decoration: none; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_close.scss */ +a.close.disabled { + pointer-events: none; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.showing { + opacity: 1; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.show { + display: block; + opacity: 1; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast.hide { + display: none; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-header { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_toasts.scss */ +.toast-body { + padding: 0.75rem; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open { + overflow: hidden; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal.fade .modal-dialog { + -webkit-transition: none; + transition: none; + } +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +/* line 53, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable { + display: -webkit-box; + display: flex; + max-height: calc(100% - 1rem); +} + +/* line 57, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +/* line 78, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +/* line 85, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + height: 100%; +} + +/* line 90, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +/* line 94, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-content { + position: relative; + display: -webkit-box; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +/* line 119, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +/* line 129, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.fade { + opacity: 0; +} + +/* line 130, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-backdrop.show { + opacity: 0.5; +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +/* line 143, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +/* line 151, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +/* line 158, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-body { + position: relative; + -webkit-box-flex: 1; + flex: 1 1 auto; + padding: 1rem; +} + +/* line 167, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer { + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +/* line 176, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +/* line 181, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + /* line 192, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + /* line 197, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + /* line 200, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + /* line 205, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + /* line 208, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + /* line 217, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + /* line 221, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + /* line 228, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_modal.scss */ + .modal-xl { + max-width: 1140px; + } +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip.show { + opacity: 0.9; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +/* line 62, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +/* line 76, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +/* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +/* line 108, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_tooltip.scss */ +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +/* line 1, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +/* line 58, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +/* line 81, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +/* line 84, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +/* line 93, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +/* line 101, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +/* line 113, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +/* line 116, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +/* line 122, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +/* line 128, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +/* line 153, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +/* line 163, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-header:empty { + display: none; +} + +/* line 168, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_popover.scss */ +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel { + position: relative; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel.pointer-event { + touch-action: pan-y; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-item { + -webkit-transition: none; + transition: none; + } +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +/* line 50, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +/* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +/* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + -webkit-transition: 0s 0.6s opacity; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + /* line 74, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + -webkit-transition: none; + transition: none; + } +} + +/* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + -webkit-box-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 87, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-control-prev, + .carousel-control-next { + -webkit-transition: none; + transition: none; + } +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +/* line 111, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev { + left: 0; +} + +/* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next { + right: 0; +} + +/* line 125, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +/* line 132, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +/* line 135, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +/* line 145, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -webkit-box; + display: flex; + -webkit-box-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +/* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators li { + box-sizing: content-box; + -webkit-box-flex: 0; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + /* line 159, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ + .carousel-indicators li { + -webkit-transition: none; + transition: none; + } +} + +/* line 177, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-indicators .active { + opacity: 1; +} + +/* line 187, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_carousel.scss */ +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_spinners.scss */ +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-baseline { + vertical-align: baseline !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-top { + vertical-align: top !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-middle { + vertical-align: middle !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-bottom { + vertical-align: bottom !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-bottom { + vertical-align: text-bottom !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_align.scss */ +.align-text-top { + vertical-align: text-top !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-primary { + background-color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-secondary { + background-color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-success { + background-color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-info { + background-color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-warning { + background-color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-danger { + background-color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-light { + background-color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_background-variant.scss */ +.bg-dark { + background-color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-white { + background-color: #fff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_background.scss */ +.bg-transparent { + background-color: transparent !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border { + border: 1px solid #dee2e6 !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-0 { + border: 0 !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-top-0 { + border-top: 0 !important; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-right-0 { + border-right: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-bottom-0 { + border-bottom: 0 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-left-0 { + border-left: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-primary { + border-color: #007bff !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-secondary { + border-color: #6c757d !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-success { + border-color: #28a745 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-info { + border-color: #17a2b8 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-warning { + border-color: #ffc107 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-danger { + border-color: #dc3545 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-light { + border-color: #f8f9fa !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-dark { + border-color: #343a40 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.border-white { + border-color: #fff !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-sm { + border-radius: 0.2rem !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded { + border-radius: 0.25rem !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +/* line 61, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-lg { + border-radius: 0.3rem !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-circle { + border-radius: 50% !important; +} + +/* line 69, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-pill { + border-radius: 50rem !important; +} + +/* line 73, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_borders.scss */ +.rounded-0 { + border-radius: 0 !important; +} + +/* line 2, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_clearfix.scss */ +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-none { + display: none !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline { + display: inline !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-block { + display: inline-block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-block { + display: block !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table { + display: table !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-row { + display: table-row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-table-cell { + display: table-cell !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-flex { + display: -webkit-box !important; + display: flex !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ +.d-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-none { + display: none !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline { + display: inline !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-block { + display: inline-block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-block { + display: block !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table { + display: table !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-row { + display: table-row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-table-cell { + display: table-cell !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +@media print { + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-none { + display: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline { + display: inline !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-block { + display: inline-block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-block { + display: block !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table { + display: table !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-row { + display: table-row !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-table-cell { + display: table-cell !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-flex { + display: -webkit-box !important; + display: flex !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_display.scss */ + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: inline-flex !important; + } +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive::before { + display: block; + content: ""; +} + +/* line 15, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-21by9::before { + padding-top: 42.85714%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-4by3::before { + padding-top: 75%; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_embed.scss */ +.embed-responsive-1by1::before { + padding-top: 100%; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap { + flex-wrap: wrap !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-nowrap { + flex-wrap: nowrap !important; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; +} + +/* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +/* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; +} + +/* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; +} + +/* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-center { + -webkit-box-pack: center !important; + justify-content: center !important; +} + +/* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; +} + +/* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.justify-content-around { + justify-content: space-around !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-start { + -webkit-box-align: start !important; + align-items: flex-start !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-end { + -webkit-box-align: end !important; + align-items: flex-end !important; +} + +/* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-center { + -webkit-box-align: center !important; + align-items: center !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-items-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-start { + align-content: flex-start !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-end { + align-content: flex-end !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-center { + align-content: center !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-between { + align-content: space-between !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-around { + align-content: space-around !important; +} + +/* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-content-stretch { + align-content: stretch !important; +} + +/* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-auto { + align-self: auto !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-start { + align-self: flex-start !important; +} + +/* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-end { + align-self: flex-end !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-center { + align-self: center !important; +} + +/* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-baseline { + align-self: baseline !important; +} + +/* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-sm-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-sm-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-md-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-md-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-md-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-lg-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-lg-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + flex-direction: row !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + flex-direction: column !important; + } + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + flex-direction: row-reverse !important; + } + /* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + flex-direction: column-reverse !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap { + flex-wrap: wrap !important; + } + /* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + /* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + /* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-fill { + -webkit-box-flex: 1 !important; + flex: 1 1 auto !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + flex-grow: 0 !important; + } + /* line 21, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + flex-grow: 1 !important; + } + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + /* line 25, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-start { + -webkit-box-pack: start !important; + justify-content: flex-start !important; + } + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-end { + -webkit-box-pack: end !important; + justify-content: flex-end !important; + } + /* line 27, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-center { + -webkit-box-pack: center !important; + justify-content: center !important; + } + /* line 28, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-between { + -webkit-box-pack: justify !important; + justify-content: space-between !important; + } + /* line 29, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .justify-content-xl-around { + justify-content: space-around !important; + } + /* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-start { + -webkit-box-align: start !important; + align-items: flex-start !important; + } + /* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-end { + -webkit-box-align: end !important; + align-items: flex-end !important; + } + /* line 33, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-center { + -webkit-box-align: center !important; + align-items: center !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + align-items: baseline !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + align-items: stretch !important; + } + /* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-start { + align-content: flex-start !important; + } + /* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-end { + align-content: flex-end !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-center { + align-content: center !important; + } + /* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-between { + align-content: space-between !important; + } + /* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-around { + align-content: space-around !important; + } + /* line 42, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-content-xl-stretch { + align-content: stretch !important; + } + /* line 44, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-auto { + align-self: auto !important; + } + /* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-start { + align-self: flex-start !important; + } + /* line 46, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-end { + align-self: flex-end !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-center { + align-self: center !important; + } + /* line 48, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-baseline { + align-self: baseline !important; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_flex.scss */ + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-left { + float: left !important; +} + +/* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-right { + float: right !important; +} + +/* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + /* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-left { + float: left !important; + } + /* line 8, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-right { + float: right !important; + } + /* line 9, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_float.scss */ + .float-xl-none { + float: none !important; + } +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-auto { + overflow: auto !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_overflow.scss */ +.overflow-hidden { + overflow: hidden !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-static { + position: static !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-relative { + position: relative !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-absolute { + position: absolute !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-fixed { + position: fixed !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +/* line 10, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +/* line 18, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + /* line 26, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_position.scss */ + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_screenreaders.scss */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_screen-reader.scss */ +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +/* line 3, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +/* line 4, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +/* line 5, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_shadows.scss */ +.shadow-none { + box-shadow: none !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-25 { + width: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-50 { + width: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-75 { + width: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-100 { + width: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.w-auto { + width: auto !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-25 { + height: 25% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-50 { + height: 50% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-75 { + height: 75% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-100 { + height: 100% !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.h-auto { + height: auto !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mw-100 { + max-width: 100% !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.mh-100 { + max-height: 100% !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vw-100 { + min-width: 100vw !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.min-vh-100 { + min-height: 100vh !important; +} + +/* line 19, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vw-100 { + width: 100vw !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_sizing.scss */ +.vh-100 { + height: 100vh !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_stretched-link.scss */ +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: transparent; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-0 { + margin: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-1 { + margin: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-2 { + margin: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-3 { + margin: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-4 { + margin: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-5 { + margin: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-0 { + padding: 0 !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-1 { + padding: 0.25rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-2 { + padding: 0.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-3 { + padding: 1rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-4 { + padding: 1.5rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.p-5 { + padding: 3rem !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +/* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +/* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n1 { + margin: -0.25rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n2 { + margin: -0.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n3 { + margin: -1rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n4 { + margin: -1.5rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +/* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-n5 { + margin: -3rem !important; +} + +/* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +/* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +/* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.m-auto { + margin: auto !important; +} + +/* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +/* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +/* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +/* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-sm-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-sm-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-md-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-md-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-lg-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-lg-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-0 { + margin: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-1 { + margin: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-2 { + margin: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-3 { + margin: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-4 { + margin: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-5 { + margin: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-0 { + padding: 0 !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-1 { + padding: 0.25rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-2 { + padding: 0.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-3 { + padding: 1rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-4 { + padding: 1.5rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + /* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .p-xl-5 { + padding: 3rem !important; + } + /* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + /* line 16, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + /* line 20, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n1 { + margin: -0.25rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n2 { + margin: -0.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n3 { + margin: -1rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n4 { + margin: -1.5rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-n5 { + margin: -3rem !important; + } + /* line 35, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + /* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + /* line 43, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + /* line 47, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + /* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .m-xl-auto { + margin: auto !important; + } + /* line 56, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + /* line 60, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + /* line 64, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + /* line 68, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_spacing.scss */ + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-justify { + text-align: justify !important; +} + +/* line 12, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-wrap { + white-space: normal !important; +} + +/* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-nowrap { + white-space: nowrap !important; +} + +/* line 14, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-left { + text-align: left !important; +} + +/* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-right { + text-align: right !important; +} + +/* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + /* line 22, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-left { + text-align: left !important; + } + /* line 23, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-right { + text-align: right !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ + .text-xl-center { + text-align: center !important; + } +} + +/* line 30, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-lowercase { + text-transform: lowercase !important; +} + +/* line 31, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-uppercase { + text-transform: uppercase !important; +} + +/* line 32, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-capitalize { + text-transform: capitalize !important; +} + +/* line 36, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-light { + font-weight: 300 !important; +} + +/* line 37, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-lighter { + font-weight: lighter !important; +} + +/* line 38, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-normal { + font-weight: 400 !important; +} + +/* line 39, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bold { + font-weight: 700 !important; +} + +/* line 40, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-weight-bolder { + font-weight: bolder !important; +} + +/* line 41, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.font-italic { + font-style: italic !important; +} + +/* line 45, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white { + color: #fff !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-primary { + color: #007bff !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-secondary { + color: #6c757d !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-success { + color: #28a745 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-info { + color: #17a2b8 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-warning { + color: #ffc107 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-danger { + color: #dc3545 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-light { + color: #f8f9fa !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +/* line 6, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss */ +.text-dark { + color: #343a40 !important; +} + +/* line 17, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/mixins/_hover.scss */ +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +/* line 51, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-body { + color: #212529 !important; +} + +/* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-muted { + color: #6c757d !important; +} + +/* line 54, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +/* line 55, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +/* line 59, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +/* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-decoration-none { + text-decoration: none !important; +} + +/* line 65, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +/* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_text.scss */ +.text-reset { + color: inherit !important; +} + +/* line 7, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.visible { + visibility: visible !important; +} + +/* line 11, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/utilities/_visibility.scss */ +.invisible { + visibility: hidden !important; +} + +@media print { + /* line 13, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + /* line 24, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + a:not(.btn) { + text-decoration: underline; + } + /* line 34, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + abbr[title]::after { + content: " (" attr(title) ")"; + } + /* line 49, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre { + white-space: pre-wrap !important; + } + /* line 52, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + /* line 63, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + thead { + display: table-header-group; + } + /* line 67, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + tr, + img { + page-break-inside: avoid; + } + /* line 72, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + /* line 79, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + /* line 92, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + body { + min-width: 992px !important; + } + /* line 95, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .container { + min-width: 992px !important; + } + /* line 100, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .navbar { + display: none; + } + /* line 103, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .badge { + border: 1px solid #000; + } + /* line 107, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table { + border-collapse: collapse !important; + } + /* line 110, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table td, + .table th { + background-color: #fff !important; + } + /* line 117, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + /* line 123, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark { + color: inherit; + } + /* line 126, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + /* line 134, ../../../.rvm/gems/ruby-2.3.7@eduplus2/gems/bootstrap-4.3.1/assets/stylesheets/bootstrap/_print.scss */ + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 8, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 15, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 18, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 21, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 24, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 27, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 31, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 41, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 50, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 53, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 56, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 59, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 62, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 65, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 68, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 73, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 78, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 87, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 97, app/assets/stylesheets/bootstrap-datepicker.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 101, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 106, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 110, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 116, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 120, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 138, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 160, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 170, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 173, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 176, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 185, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 205, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 227, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 237, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 256, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 278, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 288, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 307, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 329, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 339, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 351, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 355, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 361, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 380, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 402, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 412, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 416, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 419, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 425, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 431, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 435, app/assets/stylesheets/bootstrap-datepicker.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 441, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 445, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 449, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input { + text-align: center; +} + +/* line 452, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 457, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 462, app/assets/stylesheets/bootstrap-datepicker.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +/* line 8, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr; +} + +/* line 15, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-inline { + width: 220px; +} + +/* line 18, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl { + direction: rtl; +} + +/* line 21, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl.dropdown-menu { + left: auto; +} + +/* line 24, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-rtl table tr td span { + float: right; +} + +/* line 27, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown { + top: 0; + left: 0; +} + +/* line 31, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #999; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +/* line 41, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute; +} + +/* line 50, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px; +} + +/* line 53, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px; +} + +/* line 56, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px; +} + +/* line 59, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px; +} + +/* line 62, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:before { + top: -7px; +} + +/* line 65, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-bottom:after { + top: -6px; +} + +/* line 68, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999; +} + +/* line 73, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker-dropdown.datepicker-orient-top:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff; +} + +/* line 78, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 87, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + border-radius: 4px; + border: none; +} + +/* line 97, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} + +/* line 101, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.day:hover, +.datepicker table tr td.day.focused { + background: #eee; + cursor: pointer; +} + +/* line 106, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999; +} + +/* line 110, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 116, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.highlighted { + background: #d9edf7; + border-radius: 0; +} + +/* line 120, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a)); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} + +/* line 138, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +/* line 160, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} + +/* line 170, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today:hover:hover { + color: #000; +} + +/* line 173, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.today.active:hover { + color: #fff; +} + +/* line 176, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0; +} + +/* line 185, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3c17a), to(#f3e97a)); + background-image: linear-gradient(to bottom, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border-radius: 0; +} + +/* line 205, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} + +/* line 227, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} + +/* line 237, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -webkit-gradient(linear, left top, left bottom, from(#b3b3b3), to(#808080)); + background-image: linear-gradient(to bottom, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 256, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} + +/* line 278, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} + +/* line 288, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 307, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 329, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 339, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px; +} + +/* line 351, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span:hover, +.datepicker table tr td span.focused { + background: #eee; +} + +/* line 355, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999; + cursor: default; +} + +/* line 361, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#0044cc)); + background-image: linear-gradient(to bottom, #08c, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 380, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +/* line 402, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} + +/* line 412, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999; +} + +/* line 416, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch { + width: 145px; +} + +/* line 419, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch, +.datepicker .prev, +.datepicker .next, +.datepicker tfoot tr th { + cursor: pointer; +} + +/* line 425, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .datepicker-switch:hover, +.datepicker .prev:hover, +.datepicker .next:hover, +.datepicker tfoot tr th:hover { + background: #eee; +} + +/* line 431, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .prev.disabled, +.datepicker .next.disabled { + visibility: hidden; +} + +/* line 435, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} + +/* line 441, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on, +.input-prepend.date .add-on { + cursor: pointer; +} + +/* line 445, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-append.date .add-on i, +.input-prepend.date .add-on i { + margin-top: 3px; +} + +/* line 449, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input { + text-align: center; +} + +/* line 452, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:first-child { + border-radius: 3px 0 0 3px; +} + +/* line 457, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange input:last-child { + border-radius: 0 3px 3px 0; +} + +/* line 462, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 20px; + padding: 4px 5px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} + +/* line 478, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + display: none; + min-width: 160px; + list-style: none; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + *border-right-width: 2px; + *border-bottom-width: 2px; + color: #333333; + font-size: 13px; + line-height: 20px; +} + +/* line 505, app/assets/stylesheets/bootstrap-datepicker.standalone.scss */ +.datepicker.dropdown-menu th, +.datepicker.datepicker-inline th, +.datepicker.dropdown-menu td, +.datepicker.datepicker-inline td { + padding: 4px 5px; +} +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single { + height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder { + color: #757575; + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow { + position: absolute; + top: 50%; + right: 3px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b { + top: 60%; + border-color: #343a40 transparent transparent; + border-style: solid; + border-width: 5px 4px 0; + width: 0; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered { + line-height: calc(1.5em + .75rem); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-search--dropdown .select2-search__field { + border: 1px solid #ced4da; + border-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-results__message { + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple { + min-height: calc(1.5em + .75rem + 2px) !important; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice { + color: #343a40; + border: 1px solid #bdc6d0; + border-radius: .2rem; + padding: 0 5px 0 0; + cursor: pointer; + float: left; + margin-top: .3em; + margin-right: 5px; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove { + color: #bdc6d0; + font-weight: 700; + margin-left: 3px; + margin-right: 1px; + padding-right: 3px; + padding-left: 3px; + float: left; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #343a40; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container { + display: block; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container :focus { + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group .select2-container--bootstrap4 { + -webkit-box-flex: 1; + flex-grow: 1; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.input-group-prepend ~ .select2-container--bootstrap4 .select2-selection { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection { + border: 1px solid #ced4da; + border-radius: .25rem; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus .select2-selection { + border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection, .select2-container--bootstrap4.select2-container--disabled .select2-selection { + background-color: #e9ecef; + cursor: not-allowed; + border-color: #ced4da; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field, .select2-container--bootstrap4.select2-container--disabled .select2-search__field { + background-color: transparent; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:invalid ~ .select2-container--bootstrap4 .select2-selection, select.is-invalid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #dc3545; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +form.was-validated select:valid ~ .select2-container--bootstrap4 .select2-selection, select.is-valid ~ .select2-container--bootstrap4 .select2-selection { + border-color: #28a745; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown { + border-color: #ced4da; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above { + border-top: 1px solid #ced4da; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true] { + background-color: #e9ecef; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option--highlighted, .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] { + background-color: #007bff; + color: #f8f9fa; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results > .select2-results__options { + max-height: 15em; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-results__group { + padding: 6px; + display: list-item; + color: #6c757d; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear { + width: 1.2em; + height: 1.2em; + line-height: 1.15em; + padding-left: .3em; + margin-top: .5em; + border-radius: 100%; + background-color: #6c757d; + color: #f8f9fa; + float: right; + margin-right: .3em; +} + +/* line 1, app/assets/stylesheets/select2-bootstrap4.min.scss */ +.select2-container--bootstrap4 .select2-selection__clear:hover { + background-color: #343a40; +} +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--single .select2-selection__clear { + position: relative; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results { + display: block; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option { + padding: 6px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-results__option[aria-selected] { + cursor: pointer; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown { + left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown { + display: block; + padding: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-search--dropdown.select2-search--hide { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), to(#eee)); + background-image: linear-gradient(to bottom, #fff 50%, #eee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#ccc)); + background-image: linear-gradient(to bottom, #eee 50%, #ccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #eee)); + background-image: linear-gradient(to bottom, #fff 0%, #eee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eee), to(#fff)); + background-image: linear-gradient(to bottom, #eee 50%, #fff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown { + background-color: #fff; + border: 1px solid transparent; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--above { + border-bottom: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-dropdown--below { + border-top: none; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[role=group] { + padding: 0; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: #fff; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +/* line 1, app/assets/stylesheets/select2.min.scss */ +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; +} +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + + + + */ + diff --git a/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css.gz b/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css.gz new file mode 100644 index 000000000..d437dd106 Binary files /dev/null and b/public/assets/application-a7508b88eb6a69a5b301602bddc14745cec09853ea7d91c6fae856b96e788f46.css.gz differ diff --git a/public/assets/font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2 b/public/assets/font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe.woff2 differ diff --git a/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot b/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot differ diff --git a/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot.gz b/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot.gz new file mode 100644 index 000000000..230d55c27 Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979.eot.gz differ diff --git a/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf b/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf differ diff --git a/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf.gz b/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf.gz new file mode 100644 index 000000000..c9c92584d Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8.ttf.gz differ diff --git a/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg b/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg @@ -0,0 +1,2671 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg> +<metadata> +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. +</metadata> +<defs> +<font id="FontAwesome" horiz-adv-x="1536" > + <font-face + font-family="FontAwesome" + font-weight="400" + font-stretch="normal" + units-per-em="1792" + panose-1="0 0 0 0 0 0 0 0 0 0" + ascent="1536" + descent="-256" + bbox="-1.02083 -256.962 2304.6 1537.02" + underline-thickness="0" + underline-position="0" + unicode-range="U+0020-F500" + /> +<missing-glyph horiz-adv-x="896" +d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" /> + <glyph glyph-name=".notdef" horiz-adv-x="896" +d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" /> + <glyph glyph-name=".null" horiz-adv-x="0" + /> + <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" + /> + <glyph glyph-name="space" unicode=" " horiz-adv-x="448" + /> + <glyph glyph-name="dieresis" unicode="¨" horiz-adv-x="1792" + /> + <glyph glyph-name="copyright" unicode="©" horiz-adv-x="1792" + /> + <glyph glyph-name="registered" unicode="®" horiz-adv-x="1792" + /> + <glyph glyph-name="acute" unicode="´" horiz-adv-x="1792" + /> + <glyph glyph-name="AE" unicode="Æ" horiz-adv-x="1792" + /> + <glyph glyph-name="Oslash" unicode="Ø" horiz-adv-x="1792" + /> + <glyph glyph-name="trademark" unicode="™" horiz-adv-x="1792" + /> + <glyph glyph-name="infinity" unicode="∞" horiz-adv-x="1792" + /> + <glyph glyph-name="notequal" unicode="≠" horiz-adv-x="1792" + /> + <glyph glyph-name="glass" unicode="" horiz-adv-x="1792" +d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" /> + <glyph glyph-name="music" unicode="" +d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 +t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" /> + <glyph glyph-name="search" unicode="" horiz-adv-x="1664" +d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 +t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> + <glyph glyph-name="envelope" unicode="" horiz-adv-x="1792" +d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 +t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z +M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="heart" unicode="" horiz-adv-x="1792" +d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 +q-18 -18 -44 -18z" /> + <glyph glyph-name="star" unicode="" horiz-adv-x="1664" +d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 +l502 -73q56 -9 56 -46z" /> + <glyph glyph-name="star_empty" unicode="" horiz-adv-x="1664" +d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 +l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" /> + <glyph glyph-name="user" unicode="" horiz-adv-x="1280" +d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5 +t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="film" unicode="" horiz-adv-x="1920" +d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 +q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 +t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 +q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 +t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="th_large" unicode="" horiz-adv-x="1664" +d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 +h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> + <glyph glyph-name="th" unicode="" horiz-adv-x="1792" +d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 +h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 +q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" /> + <glyph glyph-name="th_list" unicode="" horiz-adv-x="1792" +d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 +h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" /> + <glyph glyph-name="ok" unicode="" horiz-adv-x="1792" +d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" /> + <glyph glyph-name="remove" unicode="" horiz-adv-x="1408" +d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 +t-28 -68l-294 -294l294 -294q28 -28 28 -68z" /> + <glyph glyph-name="zoom_in" unicode="" horiz-adv-x="1664" +d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 +q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 +t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> + <glyph glyph-name="zoom_out" unicode="" horiz-adv-x="1664" +d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z +M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z +" /> + <glyph glyph-name="off" unicode="" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 +t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" /> + <glyph glyph-name="signal" unicode="" horiz-adv-x="1792" +d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 +v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" /> + <glyph glyph-name="cog" unicode="" +d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 +q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 +l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 +q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" /> + <glyph glyph-name="trash" unicode="" horiz-adv-x="1408" +d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 +q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 +q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> + <glyph glyph-name="home" unicode="" horiz-adv-x="1664" +d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 +l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" /> + <glyph glyph-name="file_alt" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +" /> + <glyph glyph-name="time" unicode="" +d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="road" unicode="" horiz-adv-x="1920" +d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 +q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" /> + <glyph glyph-name="download_alt" unicode="" horiz-adv-x="1664" +d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 +q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" /> + <glyph glyph-name="download" unicode="" +d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 +t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="upload" unicode="" +d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 +t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="inbox" unicode="" +d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 +q25 -61 25 -123z" /> + <glyph glyph-name="play_circle" unicode="" +d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="repeat" unicode="" +d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9 +l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" /> + <glyph glyph-name="refresh" unicode="" +d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 +q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 +q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="list_alt" unicode="" horiz-adv-x="1792" +d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z +M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 +t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 +t47 -113z" /> + <glyph glyph-name="lock" unicode="" horiz-adv-x="1152" +d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" /> + <glyph glyph-name="flag" unicode="" horiz-adv-x="1792" +d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 +t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" /> + <glyph glyph-name="headphones" unicode="" horiz-adv-x="1664" +d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 +t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 +t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" /> + <glyph glyph-name="volume_off" unicode="" horiz-adv-x="768" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="volume_down" unicode="" horiz-adv-x="1152" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36 +t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" /> + <glyph glyph-name="volume_up" unicode="" horiz-adv-x="1664" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36 +t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 +t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 +t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" /> + <glyph glyph-name="qrcode" unicode="" horiz-adv-x="1408" +d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z +M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" /> + <glyph glyph-name="barcode" unicode="" horiz-adv-x="1792" +d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z +M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" /> + <glyph glyph-name="tag" unicode="" +d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 +l715 -714q37 -39 37 -91z" /> + <glyph glyph-name="tags" unicode="" horiz-adv-x="1920" +d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 +l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" /> + <glyph glyph-name="book" unicode="" horiz-adv-x="1664" +d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 +q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 +q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 +t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" /> + <glyph glyph-name="bookmark" unicode="" horiz-adv-x="1280" +d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> + <glyph glyph-name="print" unicode="" horiz-adv-x="1664" +d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 +v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" /> + <glyph glyph-name="camera" unicode="" horiz-adv-x="1920" +d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 +q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="font" unicode="" horiz-adv-x="1664" +d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 +q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 +q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" /> + <glyph glyph-name="bold" unicode="" horiz-adv-x="1408" +d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 +q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 +t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 +t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" /> + <glyph glyph-name="italic" unicode="" horiz-adv-x="1024" +d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 +q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" /> + <glyph glyph-name="text_height" unicode="" horiz-adv-x="1792" +d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 +t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 +q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 +q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" /> + <glyph glyph-name="text_width" unicode="" +d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 +t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 +q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 +t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 +t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" /> + <glyph glyph-name="align_left" unicode="" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 +t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_center" unicode="" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 +h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_right" unicode="" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 +t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_justify" unicode="" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 +t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> + <glyph glyph-name="list" unicode="" horiz-adv-x="1792" +d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 +t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 +q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 +t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 +q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="indent_left" unicode="" horiz-adv-x="1792" +d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 +t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 +q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="indent_right" unicode="" horiz-adv-x="1792" +d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 +t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 +q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="facetime_video" unicode="" horiz-adv-x="1792" +d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 +q39 -17 39 -59z" /> + <glyph glyph-name="picture" unicode="" horiz-adv-x="1920" +d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 +q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="pencil" unicode="" +d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 +q53 0 91 -38l235 -234q37 -39 37 -91z" /> + <glyph glyph-name="map_marker" unicode="" horiz-adv-x="1024" +d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" /> + <glyph glyph-name="adjust" unicode="" +d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="tint" unicode="" horiz-adv-x="1024" +d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 +q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" /> + <glyph glyph-name="edit" unicode="" horiz-adv-x="1792" +d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 +q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 +l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" /> + <glyph glyph-name="share" unicode="" horiz-adv-x="1664" +d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 +q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 +t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="check" unicode="" horiz-adv-x="1664" +d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 +q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 +q24 -24 24 -57t-24 -57z" /> + <glyph glyph-name="move" unicode="" horiz-adv-x="1792" +d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 +t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="step_backward" unicode="" horiz-adv-x="1024" +d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" /> + <glyph glyph-name="fast_backward" unicode="" horiz-adv-x="1792" +d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710 +q19 19 32 13t13 -32v-710q4 10 13 19z" /> + <glyph glyph-name="backward" unicode="" horiz-adv-x="1664" +d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" /> + <glyph glyph-name="play" unicode="" horiz-adv-x="1408" +d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" /> + <glyph glyph-name="pause" unicode="" +d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" /> + <glyph glyph-name="stop" unicode="" +d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="forward" unicode="" horiz-adv-x="1664" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" /> + <glyph glyph-name="fast_forward" unicode="" horiz-adv-x="1792" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710 +q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" /> + <glyph glyph-name="step_forward" unicode="" horiz-adv-x="1024" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" /> + <glyph glyph-name="eject" unicode="" horiz-adv-x="1538" +d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" /> + <glyph glyph-name="chevron_left" unicode="" horiz-adv-x="1280" +d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="chevron_right" unicode="" horiz-adv-x="1280" +d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="plus_sign" unicode="" +d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 +t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="minus_sign" unicode="" +d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="remove_sign" unicode="" +d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 +q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ok_sign" unicode="" +d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="question_sign" unicode="" +d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 +q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="info_sign" unicode="" +d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 +t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="screenshot" unicode="" +d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 +q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 +q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" /> + <glyph glyph-name="remove_circle" unicode="" +d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 +l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 +t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ok_circle" unicode="" +d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 +t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ban_circle" unicode="" +d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 +t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" /> + <glyph glyph-name="arrow_left" unicode="" +d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 +t32.5 -90.5z" /> + <glyph glyph-name="arrow_right" unicode="" +d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" /> + <glyph glyph-name="arrow_up" unicode="" horiz-adv-x="1664" +d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 +q37 -39 37 -91z" /> + <glyph glyph-name="arrow_down" unicode="" horiz-adv-x="1664" +d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" /> + <glyph glyph-name="share_alt" unicode="" horiz-adv-x="1792" +d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 +t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" /> + <glyph glyph-name="resize_full" unicode="" +d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 +q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" /> + <glyph glyph-name="resize_small" unicode="" +d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 +t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" /> + <glyph glyph-name="plus" unicode="" horiz-adv-x="1408" +d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" /> + <glyph glyph-name="minus" unicode="" horiz-adv-x="1408" +d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" /> + <glyph glyph-name="asterisk" unicode="" horiz-adv-x="1664" +d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 +q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" /> + <glyph glyph-name="exclamation_sign" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 +q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" /> + <glyph glyph-name="gift" unicode="" +d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 +q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 +t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" /> + <glyph glyph-name="leaf" unicode="" horiz-adv-x="1792" +d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 +q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 +t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" /> + <glyph glyph-name="fire" unicode="" horiz-adv-x="1408" +d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 +q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" /> + <glyph glyph-name="eye_open" unicode="" horiz-adv-x="1792" +d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 +t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" /> + <glyph glyph-name="eye_close" unicode="" horiz-adv-x="1792" +d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 +q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 +q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z +" /> + <glyph glyph-name="warning_sign" unicode="" horiz-adv-x="1792" +d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 +q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" /> + <glyph glyph-name="plane" unicode="" horiz-adv-x="1408" +d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 +q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" /> + <glyph glyph-name="calendar" unicode="" horiz-adv-x="1664" +d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z +M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 +q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 +h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="random" unicode="" horiz-adv-x="1792" +d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 +t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 +v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 +t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> + <glyph glyph-name="comment" unicode="" horiz-adv-x="1792" +d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 +q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="magnet" unicode="" +d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 +q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" /> + <glyph glyph-name="chevron_up" unicode="" horiz-adv-x="1792" +d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" /> + <glyph glyph-name="chevron_down" unicode="" horiz-adv-x="1792" +d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" /> + <glyph glyph-name="retweet" unicode="" horiz-adv-x="1920" +d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21 +zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z +" /> + <glyph glyph-name="shopping_cart" unicode="" horiz-adv-x="1664" +d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 +t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="folder_close" unicode="" horiz-adv-x="1664" +d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> + <glyph glyph-name="folder_open" unicode="" horiz-adv-x="1920" +d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 +t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" /> + <glyph glyph-name="resize_vertical" unicode="" horiz-adv-x="768" +d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="resize_horizontal" unicode="" horiz-adv-x="1792" +d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="bar_chart" unicode="" horiz-adv-x="2048" +d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" /> + <glyph glyph-name="twitter_sign" unicode="" +d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 +q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 +t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="facebook_sign" unicode="" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960z" /> + <glyph glyph-name="camera_retro" unicode="" horiz-adv-x="1792" +d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 +t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 +q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="key" unicode="" horiz-adv-x="1792" +d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 +l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 +t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" /> + <glyph glyph-name="cogs" unicode="" horiz-adv-x="1920" +d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 +l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 +l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 +q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 +t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 +q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 +q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" /> + <glyph glyph-name="comments" unicode="" horiz-adv-x="1792" +d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 +q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 +q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" /> + <glyph glyph-name="thumbs_up_alt" unicode="" +d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 +t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 +q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 +q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" /> + <glyph glyph-name="thumbs_down_alt" unicode="" +d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 +t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z +M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 +h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" /> + <glyph glyph-name="star_half" unicode="" horiz-adv-x="896" +d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" /> + <glyph glyph-name="heart_empty" unicode="" horiz-adv-x="1792" +d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 +q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 +q224 0 351 -124t127 -344z" /> + <glyph glyph-name="signout" unicode="" horiz-adv-x="1664" +d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 +q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" /> + <glyph glyph-name="linkedin_sign" unicode="" +d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 +q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="pushpin" unicode="" horiz-adv-x="1152" +d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 +t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" /> + <glyph glyph-name="external_link" unicode="" horiz-adv-x="1792" +d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 +q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" /> + <glyph glyph-name="signin" unicode="" +d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 +q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="trophy" unicode="" horiz-adv-x="1664" +d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 +t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 +q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" /> + <glyph glyph-name="github_sign" unicode="" +d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 +q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 +t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 +q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="upload_alt" unicode="" horiz-adv-x="1664" +d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 +t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" /> + <glyph glyph-name="lemon" unicode="" +d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 +q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 +q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 +q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" /> + <glyph glyph-name="phone" unicode="" horiz-adv-x="1408" +d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186 +q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14 +t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" /> + <glyph glyph-name="check_empty" unicode="" horiz-adv-x="1408" +d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 +q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="bookmark_empty" unicode="" horiz-adv-x="1280" +d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 +q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> + <glyph glyph-name="phone_sign" unicode="" +d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5 +t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5 +t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z +" /> + <glyph glyph-name="twitter" unicode="" horiz-adv-x="1664" +d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 +q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" /> + <glyph glyph-name="facebook" unicode="" horiz-adv-x="1024" +d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" /> + <glyph glyph-name="github" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 +q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 +t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 +q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z +M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" /> + <glyph glyph-name="unlock" unicode="" horiz-adv-x="1664" +d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 +t316.5 -131.5t131.5 -316.5z" /> + <glyph glyph-name="credit_card" unicode="" horiz-adv-x="1920" +d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 +q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" /> + <glyph glyph-name="rss" unicode="" horiz-adv-x="1408" +d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 +t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 +q187 -186 294 -425.5t120 -501.5z" /> + <glyph glyph-name="hdd" unicode="" +d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 +h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 +l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" /> + <glyph glyph-name="bullhorn" unicode="" horiz-adv-x="1792" +d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 +t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" /> + <glyph glyph-name="bell" unicode="" horiz-adv-x="1792" +d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z +M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 +t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" /> + <glyph glyph-name="certificate" unicode="" +d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 +l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 +l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" /> + <glyph glyph-name="hand_right" unicode="" horiz-adv-x="1792" +d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 +q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 +q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 +t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" /> + <glyph glyph-name="hand_left" unicode="" horiz-adv-x="1792" +d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5 +t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z +M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67 +q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="hand_up" unicode="" +d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 +q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 +t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 +q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" /> + <glyph glyph-name="hand_down" unicode="" +d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 +t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 +q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 +q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" /> + <glyph glyph-name="circle_arrow_left" unicode="" +d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_right" unicode="" +d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_up" unicode="" +d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_down" unicode="" +d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="globe" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 +q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 +q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 +q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 +t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 +q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 +q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 +t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 +t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 +q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 +q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 +q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 +t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 +q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 +q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" /> + <glyph glyph-name="wrench" unicode="" horiz-adv-x="1664" +d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 +t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" /> + <glyph glyph-name="tasks" unicode="" horiz-adv-x="1792" +d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 +t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> + <glyph glyph-name="filter" unicode="" horiz-adv-x="1408" +d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" /> + <glyph glyph-name="briefcase" unicode="" horiz-adv-x="1792" +d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 +t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" /> + <glyph glyph-name="fullscreen" unicode="" +d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 +l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z +" /> + <glyph glyph-name="group" unicode="" horiz-adv-x="1920" +d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 +t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 +t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 +t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" /> + <glyph glyph-name="link" unicode="" horiz-adv-x="1664" +d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 +l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 +t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 +q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" /> + <glyph glyph-name="cloud" unicode="" horiz-adv-x="1920" +d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z +" /> + <glyph glyph-name="beaker" unicode="" horiz-adv-x="1664" +d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" /> + <glyph glyph-name="cut" unicode="" horiz-adv-x="1792" +d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 +q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 +q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 +q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 +q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" /> + <glyph glyph-name="copy" unicode="" horiz-adv-x="1792" +d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 +h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" /> + <glyph glyph-name="paper_clip" unicode="" horiz-adv-x="1408" +d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 +l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 +z" /> + <glyph glyph-name="save" unicode="" +d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 +h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" /> + <glyph glyph-name="sign_blank" unicode="" +d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="reorder" unicode="" +d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 +t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="ul" unicode="" horiz-adv-x="1792" +d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 +t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z +M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="ol" unicode="" horiz-adv-x="1792" +d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 +q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 +t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216 +q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="strikethrough" unicode="" horiz-adv-x="1792" +d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 +l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 +l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" /> + <glyph glyph-name="underline" unicode="" +d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 +q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 +q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 +q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" /> + <glyph glyph-name="table" unicode="" horiz-adv-x="1664" +d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 +v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 +q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 +q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 +z" /> + <glyph glyph-name="magic" unicode="" horiz-adv-x="1664" +d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 +l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" /> + <glyph glyph-name="truck" unicode="" horiz-adv-x="1792" +d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 +t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 +t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" /> + <glyph glyph-name="pinterest" unicode="" +d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 +q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 +q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="pinterest_sign" unicode="" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 +t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 +t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" /> + <glyph glyph-name="google_plus_sign" unicode="" +d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 +h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="google_plus" unicode="" horiz-adv-x="2304" +d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 +q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" /> + <glyph glyph-name="money" unicode="" horiz-adv-x="1920" +d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 +v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" /> + <glyph glyph-name="caret_down" unicode="" horiz-adv-x="1024" +d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> + <glyph glyph-name="caret_up" unicode="" horiz-adv-x="1024" +d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="caret_left" unicode="" horiz-adv-x="640" +d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="caret_right" unicode="" horiz-adv-x="640" +d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="columns" unicode="" horiz-adv-x="1664" +d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" /> + <glyph glyph-name="sort" unicode="" horiz-adv-x="1024" +d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="sort_down" unicode="" horiz-adv-x="1024" +d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> + <glyph glyph-name="sort_up" unicode="" horiz-adv-x="1024" +d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="envelope_alt" unicode="" horiz-adv-x="1792" +d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 +q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" /> + <glyph glyph-name="linkedin" unicode="" +d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 +q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" /> + <glyph glyph-name="undo" unicode="" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 +t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" /> + <glyph glyph-name="legal" unicode="" horiz-adv-x="1792" +d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 +t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 +q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 +q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" /> + <glyph glyph-name="dashboard" unicode="" horiz-adv-x="1792" +d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 +t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 +t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 +q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="comment_alt" unicode="" horiz-adv-x="1792" +d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 +q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 +t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="comments_alt" unicode="" horiz-adv-x="1792" +d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 +t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 +t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 +q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" /> + <glyph glyph-name="bolt" unicode="" horiz-adv-x="896" +d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" /> + <glyph glyph-name="sitemap" unicode="" horiz-adv-x="1792" +d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 +q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 +z" /> + <glyph glyph-name="umbrella" unicode="" horiz-adv-x="1664" +d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 +q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 +q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" /> + <glyph glyph-name="paste" unicode="" horiz-adv-x="1792" +d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 +h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" /> + <glyph glyph-name="light_bulb" unicode="" horiz-adv-x="1024" +d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 +q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 +q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 +t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" /> + <glyph glyph-name="exchange" unicode="" horiz-adv-x="1792" +d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 +q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> + <glyph glyph-name="cloud_download" unicode="" horiz-adv-x="1920" +d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 +q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> + <glyph glyph-name="cloud_upload" unicode="" horiz-adv-x="1920" +d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 +q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> + <glyph glyph-name="user_md" unicode="" horiz-adv-x="1408" +d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 +t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 +t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 +t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="stethoscope" unicode="" horiz-adv-x="1408" +d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 +t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 +t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="suitcase" unicode="" horiz-adv-x="1792" +d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 +t66 -158z" /> + <glyph glyph-name="bell_alt" unicode="" horiz-adv-x="1792" +d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 +t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" /> + <glyph glyph-name="coffee" unicode="" horiz-adv-x="1920" +d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 +t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="food" unicode="" horiz-adv-x="1408" +d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 +t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" /> + <glyph glyph-name="file_text_alt" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 +q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" /> + <glyph glyph-name="building" unicode="" horiz-adv-x="1408" +d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" /> + <glyph glyph-name="hospital" unicode="" horiz-adv-x="1408" +d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 +t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 +v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" /> + <glyph glyph-name="ambulance" unicode="" horiz-adv-x="1920" +d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 +q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="medkit" unicode="" horiz-adv-x="1792" +d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 +q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" /> + <glyph glyph-name="fighter_jet" unicode="" horiz-adv-x="1920" +d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 +q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" /> + <glyph glyph-name="beer" unicode="" horiz-adv-x="1664" +d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" /> + <glyph glyph-name="h_sign" unicode="" +d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="f0fe" unicode="" +d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="double_angle_left" unicode="" horiz-adv-x="1024" +d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 +t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_right" unicode="" horiz-adv-x="1024" +d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 +l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_up" unicode="" horiz-adv-x="1152" +d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 +q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_down" unicode="" horiz-adv-x="1152" +d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 +t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="angle_left" unicode="" horiz-adv-x="640" +d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="angle_right" unicode="" horiz-adv-x="640" +d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="angle_up" unicode="" horiz-adv-x="1152" +d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="angle_down" unicode="" horiz-adv-x="1152" +d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="desktop" unicode="" horiz-adv-x="1920" +d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 +t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="laptop" unicode="" horiz-adv-x="1920" +d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z +M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" /> + <glyph glyph-name="tablet" unicode="" horiz-adv-x="1152" +d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 +q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" /> + <glyph glyph-name="mobile_phone" unicode="" horiz-adv-x="768" +d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 +q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> + <glyph glyph-name="circle_blank" unicode="" +d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 +t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="quote_left" unicode="" horiz-adv-x="1664" +d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z +M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" /> + <glyph glyph-name="quote_right" unicode="" horiz-adv-x="1664" +d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 +v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" /> + <glyph glyph-name="spinner" unicode="" horiz-adv-x="1792" +d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 +t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z +M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 +q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" /> + <glyph glyph-name="circle" unicode="" +d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="reply" unicode="" horiz-adv-x="1792" +d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 +l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" /> + <glyph glyph-name="github_alt" unicode="" horiz-adv-x="1664" +d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 +q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 +t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 +q0 -87 -27 -168q136 -160 136 -398z" /> + <glyph glyph-name="folder_close_alt" unicode="" horiz-adv-x="1664" +d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 +q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> + <glyph glyph-name="folder_open_alt" unicode="" horiz-adv-x="1920" +d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 +v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z +" /> + <glyph glyph-name="expand_alt" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="collapse_alt" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="smile" unicode="" +d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 +t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="frown" unicode="" +d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 +t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="meh" unicode="" +d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="gamepad" unicode="" horiz-adv-x="1920" +d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 +t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 +t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" /> + <glyph glyph-name="keyboard" unicode="" horiz-adv-x="1920" +d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 +h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 +h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 +q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 +h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="flag_alt" unicode="" horiz-adv-x="1792" +d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 +h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 +q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> + <glyph glyph-name="flag_checkered" unicode="" horiz-adv-x="1792" +d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 +q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 +q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 +q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> + <glyph glyph-name="terminal" unicode="" horiz-adv-x="1664" +d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 +t9 -23z" /> + <glyph glyph-name="code" unicode="" horiz-adv-x="1920" +d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 +l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" /> + <glyph glyph-name="reply_all" unicode="" horiz-adv-x="1792" +d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 +q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" /> + <glyph glyph-name="star_half_empty" unicode="" horiz-adv-x="1664" +d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 +l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" /> + <glyph glyph-name="location_arrow" unicode="" horiz-adv-x="1408" +d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" /> + <glyph glyph-name="crop" unicode="" horiz-adv-x="1664" +d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 +v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" /> + <glyph glyph-name="code_fork" unicode="" horiz-adv-x="1024" +d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 +q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 +q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="unlink" unicode="" horiz-adv-x="1664" +d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 +q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 +l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 +t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" /> + <glyph glyph-name="question" unicode="" horiz-adv-x="1024" +d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 +t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" /> + <glyph glyph-name="_279" unicode="" horiz-adv-x="640" +d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 +q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" /> + <glyph glyph-name="exclamation" unicode="" horiz-adv-x="640" +d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" /> + <glyph glyph-name="superscript" unicode="" +d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z +M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5 +t-65.5 -51.5t-30.5 -63h232v80h126z" /> + <glyph glyph-name="subscript" unicode="" +d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z +M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73 +h232v80h126z" /> + <glyph glyph-name="_283" unicode="" horiz-adv-x="1920" +d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" /> + <glyph glyph-name="puzzle_piece" unicode="" horiz-adv-x="1664" +d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 +t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 +q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 +q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" /> + <glyph glyph-name="microphone" unicode="" horiz-adv-x="1152" +d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 +t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" /> + <glyph glyph-name="microphone_off" unicode="" horiz-adv-x="1408" +d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 +q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 +t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" /> + <glyph glyph-name="shield" unicode="" horiz-adv-x="1280" +d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 +t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="calendar_empty" unicode="" horiz-adv-x="1664" +d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 +q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="fire_extinguisher" unicode="" horiz-adv-x="1408" +d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 +q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 +q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" /> + <glyph glyph-name="rocket" unicode="" horiz-adv-x="1664" +d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 +q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" /> + <glyph glyph-name="maxcdn" unicode="" horiz-adv-x="1792" +d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" /> + <glyph glyph-name="chevron_sign_left" unicode="" +d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_right" unicode="" +d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_up" unicode="" +d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_down" unicode="" +d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="html5" unicode="" horiz-adv-x="1408" +d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" /> + <glyph glyph-name="css3" unicode="" horiz-adv-x="1792" +d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" /> + <glyph glyph-name="anchor" unicode="" horiz-adv-x="1792" +d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 +q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 +t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" /> + <glyph glyph-name="unlock_alt" unicode="" horiz-adv-x="1152" +d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 +v-320h736z" /> + <glyph glyph-name="bullseye" unicode="" +d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 +t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ellipsis_horizontal" unicode="" horiz-adv-x="1408" +d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> + <glyph glyph-name="ellipsis_vertical" unicode="" horiz-adv-x="384" +d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> + <glyph glyph-name="_303" unicode="" +d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128 +q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="play_sign" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 +q16 -8 32 -8q17 0 32 9z" /> + <glyph glyph-name="ticket" unicode="" horiz-adv-x="1792" +d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 +t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" /> + <glyph glyph-name="minus_sign_alt" unicode="" +d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="check_minus" unicode="" horiz-adv-x="1408" +d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 +t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="level_up" unicode="" horiz-adv-x="1024" +d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" /> + <glyph glyph-name="level_down" unicode="" horiz-adv-x="1024" +d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" /> + <glyph glyph-name="check_sign" unicode="" +d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 +t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="edit_sign" unicode="" +d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_312" unicode="" +d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 +q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="share_sign" unicode="" +d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 +t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="compass" unicode="" +d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="collapse" unicode="" +d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="collapse_top" unicode="" +d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_317" unicode="" +d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 +t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="eur" unicode="" horiz-adv-x="1024" +d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 +t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 +l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" /> + <glyph glyph-name="gbp" unicode="" horiz-adv-x="1024" +d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 +q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" /> + <glyph glyph-name="usd" unicode="" horiz-adv-x="1024" +d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 +t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 +t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 +t53 -63.5t31.5 -76.5t13 -94z" /> + <glyph glyph-name="inr" unicode="" horiz-adv-x="898" +d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 +q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" /> + <glyph glyph-name="jpy" unicode="" horiz-adv-x="1027" +d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 +l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" /> + <glyph glyph-name="rub" unicode="" horiz-adv-x="1280" +d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 +q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" /> + <glyph glyph-name="krw" unicode="" horiz-adv-x="1792" +d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 +t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 +q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" /> + <glyph glyph-name="btc" unicode="" horiz-adv-x="1280" +d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 +l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 +t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" /> + <glyph glyph-name="file" unicode="" +d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" /> + <glyph glyph-name="file_text" unicode="" +d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 +q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" /> + <glyph glyph-name="sort_by_alphabet" unicode="" horiz-adv-x="1664" +d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 +v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 +l230 -662h70z" /> + <glyph glyph-name="_329" unicode="" horiz-adv-x="1664" +d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 +v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 +v119h121z" /> + <glyph glyph-name="sort_by_attributes" unicode="" horiz-adv-x="1792" +d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 +q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" /> + <glyph glyph-name="sort_by_attributes_alt" unicode="" horiz-adv-x="1792" +d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 +q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" /> + <glyph glyph-name="sort_by_order" unicode="" +d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 +zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 +t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" /> + <glyph glyph-name="sort_by_order_alt" unicode="" +d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 +t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 +q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" /> + <glyph glyph-name="_334" unicode="" horiz-adv-x="1664" +d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 +q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 +t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" /> + <glyph glyph-name="_335" unicode="" horiz-adv-x="1664" +d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 +t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 +t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" /> + <glyph glyph-name="youtube_sign" unicode="" +d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 +q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 +q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 +q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38 +q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5 +h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="youtube" unicode="" +d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 +q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 +q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 +q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51 +q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" /> + <glyph glyph-name="xing" unicode="" horiz-adv-x="1408" +d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 +q25 45 64 45h241q22 0 31 -15z" /> + <glyph glyph-name="xing_sign" unicode="" +d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 +l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="youtube_play" unicode="" horiz-adv-x="1792" +d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5 +l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136 +q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" /> + <glyph glyph-name="dropbox" unicode="" horiz-adv-x="1792" +d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" /> + <glyph glyph-name="stackexchange" unicode="" +d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" /> + <glyph glyph-name="instagram" unicode="" +d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 +q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 +t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 +q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" /> + <glyph glyph-name="flickr" unicode="" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 +t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" /> + <glyph glyph-name="adn" unicode="" +d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="f171" unicode="" horiz-adv-x="1408" +d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 +t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 +t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 +t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" /> + <glyph glyph-name="bitbucket_sign" unicode="" +d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 +t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z +M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="tumblr" unicode="" horiz-adv-x="1024" +d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 +q78 2 134 29z" /> + <glyph glyph-name="tumblr_sign" unicode="" +d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z +M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="long_arrow_down" unicode="" horiz-adv-x="768" +d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" /> + <glyph glyph-name="long_arrow_up" unicode="" horiz-adv-x="768" +d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" /> + <glyph glyph-name="long_arrow_left" unicode="" horiz-adv-x="1792" +d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" /> + <glyph glyph-name="long_arrow_right" unicode="" horiz-adv-x="1792" +d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" /> + <glyph glyph-name="apple" unicode="" horiz-adv-x="1408" +d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 +q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" /> + <glyph glyph-name="windows" unicode="" horiz-adv-x="1664" +d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" /> + <glyph glyph-name="android" unicode="" horiz-adv-x="1408" +d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 +t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 +h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" /> + <glyph glyph-name="linux" unicode="" +d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z +M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 +q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 +q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 +t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 +q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 +q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 +q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 +q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4 +t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5 +t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43 +q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49 +t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54 +q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5 +t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5 +t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" /> + <glyph glyph-name="dribble" unicode="" +d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 +t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 +q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 +t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="skype" unicode="" +d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 +t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 +q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 +q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" /> + <glyph glyph-name="foursquare" unicode="" horiz-adv-x="1280" +d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z +M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 +l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" /> + <glyph glyph-name="trello" unicode="" +d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 +q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="female" unicode="" horiz-adv-x="1280" +d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 +q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="male" unicode="" horiz-adv-x="1024" +d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z +M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="gittip" unicode="" +d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="sun" unicode="" horiz-adv-x="1792" +d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 +l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 +q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" /> + <glyph glyph-name="_366" unicode="" +d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 +t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" /> + <glyph glyph-name="archive" unicode="" horiz-adv-x="1792" +d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 +q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" /> + <glyph glyph-name="bug" unicode="" horiz-adv-x="1664" +d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 +q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 +t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" /> + <glyph glyph-name="vk" unicode="" horiz-adv-x="1920" +d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 +t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 +q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24 +q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 +q39 5 64 -2.5t31 -16.5z" /> + <glyph glyph-name="weibo" unicode="" horiz-adv-x="1792" +d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 +q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 +q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 +q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z +M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" /> + <glyph glyph-name="renren" unicode="" +d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 +q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" /> + <glyph glyph-name="_372" unicode="" horiz-adv-x="1408" +d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 +t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 +t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 +t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" /> + <glyph glyph-name="stack_exchange" unicode="" horiz-adv-x="1280" +d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z +" /> + <glyph glyph-name="_374" unicode="" +d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 +t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="arrow_circle_alt_left" unicode="" +d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 +t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_376" unicode="" +d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z +M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="dot_circle_alt" unicode="" +d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 +t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_378" unicode="" horiz-adv-x="1664" +d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 +q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" /> + <glyph glyph-name="vimeo_square" unicode="" +d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 +q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_380" unicode="" horiz-adv-x="1152" +d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 +q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" /> + <glyph glyph-name="plus_square_o" unicode="" horiz-adv-x="1408" +d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 +q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_382" unicode="" horiz-adv-x="2176" +d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 +t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 +q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" /> + <glyph glyph-name="_383" unicode="" horiz-adv-x="1664" +d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 +q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 +t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" /> + <glyph glyph-name="_384" unicode="" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 +q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 +t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" /> + <glyph glyph-name="_385" unicode="" horiz-adv-x="1792" +d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 +t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 +t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 +t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 +t273 -182.5t331.5 -68z" /> + <glyph glyph-name="_386" unicode="" horiz-adv-x="1792" +d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" /> + <glyph glyph-name="_387" unicode="" horiz-adv-x="2048" +d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 +q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" /> + <glyph glyph-name="_388" unicode="" horiz-adv-x="2304" +d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 +q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" /> + <glyph glyph-name="_389" unicode="" +d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 +q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" /> + <glyph glyph-name="uniF1A0" unicode="" +d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 +t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" /> + <glyph glyph-name="f1a1" unicode="" horiz-adv-x="1792" +d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 +t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 +q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 +t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_392" unicode="" +d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 +q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 +q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_393" unicode="" +d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 +v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 +t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="f1a4" unicode="" horiz-adv-x="1920" +d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 +v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" /> + <glyph glyph-name="_395" unicode="" +d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="_396" unicode="" horiz-adv-x="2048" +d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 +v-369h123z" /> + <glyph glyph-name="_397" unicode="" +d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 +v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_398" unicode="" horiz-adv-x="2038" +d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 +q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 +q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 +q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 +t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 +q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 +t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 +t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" /> + <glyph glyph-name="_399" unicode="" +d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 +q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 +q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 +t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 +q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" /> + <glyph glyph-name="_400" unicode="" +d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z +M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 +t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 +q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 +t135.5 51q85 0 145 -60.5t60 -145.5z" /> + <glyph glyph-name="f1ab" unicode="" +d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 +q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 +q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z +M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 +q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 +q20 0 20 -21v-418z" /> + <glyph glyph-name="_402" unicode="" horiz-adv-x="1792" +d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 +l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 +t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 +q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 +q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" /> + <glyph glyph-name="_403" unicode="" +d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 +t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 +q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 +q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 +t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 +q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 +q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 +t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" /> + <glyph glyph-name="_404" unicode="" horiz-adv-x="1280" +d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152 +q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="uniF1B1" unicode="" horiz-adv-x="1664" +d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 +q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 +q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 +t100.5 134t141.5 55.5z" /> + <glyph glyph-name="_406" unicode="" horiz-adv-x="768" +d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" /> + <glyph glyph-name="_407" unicode="" horiz-adv-x="1792" +d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z +" /> + <glyph glyph-name="_408" unicode="" horiz-adv-x="2304" +d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 +t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 +v-400l434 -186q36 -16 57 -48t21 -70z" /> + <glyph glyph-name="_409" unicode="" horiz-adv-x="2048" +d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 +q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 +q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" /> + <glyph glyph-name="_410" unicode="" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 +t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 +t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" /> + <glyph glyph-name="_411" unicode="" horiz-adv-x="1792" +d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 +q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 +q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" /> + <glyph glyph-name="_412" unicode="" +d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 +q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 +q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z +" /> + <glyph glyph-name="_413" unicode="" horiz-adv-x="1792" +d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 +l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 +t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 +q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" /> + <glyph glyph-name="_414" unicode="" horiz-adv-x="2048" +d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 +q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 +l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="_415" unicode="" horiz-adv-x="2048" +d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 +t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z +M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" /> + <glyph glyph-name="_416" unicode="" +d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 +q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" /> + <glyph glyph-name="_417" unicode="" +d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 +q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 +q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_418" unicode="" horiz-adv-x="1024" +d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" /> + <glyph glyph-name="_419" unicode="" horiz-adv-x="2304" +d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 +q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 +q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 +l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 +q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236 +q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786 +q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" /> + <glyph glyph-name="uniF1C0" unicode="" +d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 +t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 +t-103 128v128q0 69 103 128t280 93.5t385 34.5z" /> + <glyph glyph-name="uniF1C1" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 +q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 +q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" /> + <glyph glyph-name="_422" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5 +t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" /> + <glyph glyph-name="_423" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 +h-290v-107h68l189 -272l-194 -283h-68z" /> + <glyph glyph-name="_424" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" /> + <glyph glyph-name="_425" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" /> + <glyph glyph-name="_426" unicode="" +d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 +v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 +q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" /> + <glyph glyph-name="_427" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 +q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" /> + <glyph glyph-name="_428" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" /> + <glyph glyph-name="_429" unicode="" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 +l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" /> + <glyph glyph-name="_430" unicode="" +d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 +q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" /> + <glyph glyph-name="_431" unicode="" horiz-adv-x="1792" +d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 +q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" /> + <glyph glyph-name="_432" unicode="" horiz-adv-x="2048" +d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 +q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 +t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" /> + <glyph glyph-name="_433" unicode="" horiz-adv-x="1792" +d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 +q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 +t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" /> + <glyph glyph-name="_434" unicode="" horiz-adv-x="1792" +d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 +t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" /> + <glyph glyph-name="uniF1D0" unicode="" horiz-adv-x="1792" +d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 +t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 +t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 +q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" /> + <glyph glyph-name="uniF1D1" unicode="" horiz-adv-x="1792" +d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 +l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 +q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 +q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 +t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 +t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF1D2" unicode="" +d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 +q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 +q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 +q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_438" unicode="" horiz-adv-x="1792" +d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 +q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 +q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 +v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" /> + <glyph glyph-name="_439" unicode="" +d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF1D5" unicode="" horiz-adv-x="1280" +d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 +t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 +t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" /> + <glyph glyph-name="uniF1D6" unicode="" horiz-adv-x="1792" +d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 +q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 +t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 +t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" /> + <glyph glyph-name="uniF1D7" unicode="" horiz-adv-x="2048" +d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 +q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 +q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 +q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" /> + <glyph glyph-name="_443" unicode="" horiz-adv-x="1792" +d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" /> + <glyph glyph-name="_444" unicode="" horiz-adv-x="1792" +d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 +l863 639l-478 -797z" /> + <glyph glyph-name="_445" unicode="" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 +t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 +t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_446" unicode="" +d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_447" unicode="" horiz-adv-x="1792" +d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 +t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 +t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 +q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 +q0 -26 -12 -48t-36 -22z" /> + <glyph glyph-name="_448" unicode="" horiz-adv-x="1280" +d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 +q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" /> + <glyph glyph-name="_449" unicode="" +d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 +q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" /> + <glyph glyph-name="uniF1E0" unicode="" +d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 +t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" /> + <glyph glyph-name="_451" unicode="" +d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 +t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_452" unicode="" horiz-adv-x="1792" +d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 +t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 +q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 +t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" /> + <glyph glyph-name="_453" unicode="" horiz-adv-x="1792" +d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 +l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" /> + <glyph glyph-name="_454" unicode="" horiz-adv-x="1792" +d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 +v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 +zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 +t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" /> + <glyph glyph-name="_455" unicode="" horiz-adv-x="1792" +d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z +M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_456" unicode="" horiz-adv-x="1792" +d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234 +l401 400q38 37 91 37t90 -37z" /> + <glyph glyph-name="_457" unicode="" horiz-adv-x="1792" +d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 +t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z +M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7 +t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" /> + <glyph glyph-name="_458" unicode="" horiz-adv-x="1792" +d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" /> + <glyph glyph-name="_459" unicode="" +d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 +q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 +t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 +q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" /> + <glyph glyph-name="_460" unicode="" horiz-adv-x="2048" +d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 +t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" /> + <glyph glyph-name="_461" unicode="" horiz-adv-x="2048" +d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 +q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z +M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" /> + <glyph glyph-name="_462" unicode="" horiz-adv-x="1792" +d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 +t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 +t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 +t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z +M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 +h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_463" unicode="" +d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 +q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 +q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" /> + <glyph glyph-name="_464" unicode="" horiz-adv-x="1792" +d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 +q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" /> + <glyph glyph-name="uniF1F0" unicode="" horiz-adv-x="2304" +d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 +q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 +q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_466" unicode="" horiz-adv-x="2304" +d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249 +q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z +M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32 +h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4 +q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75 +q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14 +q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22 +q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12 +q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122 +h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5 +t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_467" unicode="" horiz-adv-x="2304" +d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 +q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 +v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 +q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 +t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" /> + <glyph glyph-name="f1f3" unicode="" horiz-adv-x="2304" +d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z +M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 +l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 +v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 +q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 +q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 +t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 +h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 +t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" /> + <glyph glyph-name="_469" unicode="" horiz-adv-x="2304" +d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 +t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 +q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 +t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 +l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 +q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_470" unicode="" horiz-adv-x="2304" +d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 +q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 +q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 +q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 +q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_471" unicode="" horiz-adv-x="2048" +d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 +l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 +l418 363q10 8 23.5 7t21.5 -11z" /> + <glyph glyph-name="_472" unicode="" horiz-adv-x="2048" +d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 +q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 +q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" /> + <glyph glyph-name="_473" unicode="" horiz-adv-x="1408" +d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 +q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 +q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_474" unicode="" +d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 +t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 +t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_475" unicode="" +d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 +q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 +t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 +t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" /> + <glyph glyph-name="_476" unicode="" horiz-adv-x="1792" +d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 +t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" /> + <glyph glyph-name="f1fc" unicode="" horiz-adv-x="1792" +d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 +t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" /> + <glyph glyph-name="_478" unicode="" horiz-adv-x="1792" +d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5 +t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38 +t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448 +h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5 +q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" /> + <glyph glyph-name="_479" unicode="" horiz-adv-x="2048" +d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" /> + <glyph glyph-name="_480" unicode="" horiz-adv-x="1792" +d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_481" unicode="" horiz-adv-x="2048" +d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 +t9 -23z" /> + <glyph glyph-name="_482" unicode="" horiz-adv-x="1792" +d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 +q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 +t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 +q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" /> + <glyph glyph-name="_483" unicode="" +d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 +q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 +q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_484" unicode="" horiz-adv-x="2048" +d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 +t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 +t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" /> + <glyph glyph-name="_485" unicode="" horiz-adv-x="2048" +d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 +t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" /> + <glyph glyph-name="_486" unicode="" horiz-adv-x="2304" +d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 +q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 +q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 +q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" /> + <glyph glyph-name="_487" unicode="" +d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 +h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" /> + <glyph glyph-name="_488" unicode="" horiz-adv-x="2048" +d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 +q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 +q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" /> + <glyph glyph-name="_489" unicode="" horiz-adv-x="1280" +d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 +t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 +t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 +q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 +q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 +t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" /> + <glyph glyph-name="_490" unicode="" horiz-adv-x="2048" +d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 +q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 +t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 +t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" /> + <glyph glyph-name="_491" unicode="" +d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 +t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_492" unicode="" +d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 +q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 +q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" /> + <glyph glyph-name="_493" unicode="" +d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" /> + <glyph glyph-name="_494" unicode="" horiz-adv-x="2048" +d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 +q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 +q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438 +h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66 +l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946 +l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82 +zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" /> + <glyph glyph-name="f210" unicode="" +d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" /> + <glyph glyph-name="_496" unicode="" +d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 +q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" /> + <glyph glyph-name="f212" unicode="" horiz-adv-x="2048" +d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 +q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 +q209 0 374 -102q172 107 374 102z" /> + <glyph glyph-name="_498" unicode="" horiz-adv-x="2048" +d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 +q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 +q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" /> + <glyph glyph-name="_499" unicode="" +d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 +l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 +v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z +M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 +v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 +h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 +t-43 -34t-16.5 -53.5z" /> + <glyph glyph-name="_500" unicode="" horiz-adv-x="2048" +d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 +q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" /> + <glyph glyph-name="_501" unicode="" horiz-adv-x="2048" +d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 +t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 +t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 +q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" /> + <glyph glyph-name="_502" unicode="" horiz-adv-x="1664" +d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 +q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="_503" unicode="" horiz-adv-x="1664" +d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 +q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="_504" unicode="" horiz-adv-x="2048" +d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 +l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" /> + <glyph glyph-name="_505" unicode="" horiz-adv-x="2048" +d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 +q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 +q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 +v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 +q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" /> + <glyph glyph-name="_506" unicode="" +d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 +t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 +q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 +t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" /> + <glyph glyph-name="_507" unicode="" horiz-adv-x="2304" +d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 +t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 +l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 +t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" /> + <glyph glyph-name="_508" unicode="" +d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 +q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 +q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 +t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="_509" unicode="" horiz-adv-x="1792" +d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 +q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 +t127 -344z" /> + <glyph glyph-name="venus" unicode="" horiz-adv-x="1280" +d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 +q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" /> + <glyph glyph-name="_511" unicode="" +d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 +q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_512" unicode="" horiz-adv-x="1280" +d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 +t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_513" unicode="" +d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 +q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_514" unicode="" horiz-adv-x="1792" +d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 +q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 +t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 +t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_515" unicode="" horiz-adv-x="1792" +d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 +t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 +q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 +q0 -226 -154 -391q103 -57 218 -57z" /> + <glyph glyph-name="_516" unicode="" horiz-adv-x="1920" +d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 +q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 +t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 +q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" /> + <glyph glyph-name="_517" unicode="" horiz-adv-x="2048" +d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 +t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 +t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 +t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" /> + <glyph glyph-name="_518" unicode="" +d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 +t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_519" unicode="" horiz-adv-x="1280" +d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 +t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 +t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_520" unicode="" horiz-adv-x="2048" +d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 +t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 +t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_521" unicode="" horiz-adv-x="1280" +d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 +t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_522" unicode="" horiz-adv-x="1280" +d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 +t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" /> + <glyph glyph-name="_523" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="_524" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="_525" unicode="" +d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" /> + <glyph glyph-name="_526" unicode="" horiz-adv-x="1280" +d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 +l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 +q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" /> + <glyph glyph-name="_527" unicode="" +d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 +t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 +l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" /> + <glyph glyph-name="_528" unicode="" horiz-adv-x="1792" +d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 +q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" /> + <glyph glyph-name="_529" unicode="" horiz-adv-x="2048" +d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 +t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 +t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" /> + <glyph glyph-name="_530" unicode="" horiz-adv-x="2048" +d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 +q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 +t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" /> + <glyph glyph-name="_531" unicode="" horiz-adv-x="2048" +d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 +q-26 0 -45 -19t-19 -45v-384h1152z" /> + <glyph glyph-name="_532" unicode="" +d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" /> + <glyph glyph-name="_533" unicode="" +d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 +t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" /> + <glyph glyph-name="_534" unicode="" +d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 +t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" /> + <glyph glyph-name="_535" unicode="" horiz-adv-x="1792" +d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 +q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" /> + <glyph glyph-name="_536" unicode="" +d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" /> + <glyph glyph-name="_537" unicode="" horiz-adv-x="2296" +d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 +q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 +q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 +q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 +q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 +q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 +q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8 +t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 +q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 +q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z +M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86 +t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 +q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4 +l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130 +t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 +q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 +q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" /> + <glyph glyph-name="_538" unicode="" horiz-adv-x="2304" +d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 +t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 +t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" /> + <glyph glyph-name="_539" unicode="" horiz-adv-x="1792" +d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 +t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 +t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 +q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 +q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" /> + <glyph glyph-name="_540" unicode="" horiz-adv-x="2304" +d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 +v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="_541" unicode="" horiz-adv-x="2304" +d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_542" unicode="" horiz-adv-x="2304" +d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_543" unicode="" horiz-adv-x="2304" +d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_544" unicode="" horiz-adv-x="2304" +d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 +v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_545" unicode="" horiz-adv-x="1280" +d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" /> + <glyph glyph-name="_546" unicode="" horiz-adv-x="1024" +d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" /> + <glyph glyph-name="_547" unicode="" horiz-adv-x="2048" +d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 +h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" /> + <glyph glyph-name="_548" unicode="" horiz-adv-x="2304" +d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 +v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" /> + <glyph glyph-name="_549" unicode="" +d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" /> + <glyph glyph-name="_550" unicode="" +d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 +z" /> + <glyph glyph-name="_551" unicode="" horiz-adv-x="2304" +d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 +t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 +t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 +t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_552" unicode="" horiz-adv-x="2304" +d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 +t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z +M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_553" unicode="" horiz-adv-x="1792" +d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 +zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" /> + <glyph glyph-name="_554" unicode="" horiz-adv-x="2304" +d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 +q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 +t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 +t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" /> + <glyph glyph-name="_555" unicode="" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 +t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" /> + <glyph glyph-name="_556" unicode="" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" /> + <glyph glyph-name="_557" unicode="" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" /> + <glyph glyph-name="_558" unicode="" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 +h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" /> + <glyph glyph-name="_559" unicode="" +d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 +t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 +h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" /> + <glyph glyph-name="_560" unicode="" +d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 +q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 +t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 +q72 69 174 69z" /> + <glyph glyph-name="_561" unicode="" horiz-adv-x="1792" +d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 +t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 +h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" /> + <glyph glyph-name="_562" unicode="" horiz-adv-x="1792" +d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 +q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 +t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 +t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 +q0 -42 -23 -78t-61 -53l-310 -141h91z" /> + <glyph glyph-name="_563" unicode="" horiz-adv-x="2048" +d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 +q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 +q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" /> + <glyph glyph-name="_564" unicode="" horiz-adv-x="2048" +d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79 +t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24 +q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26 +l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" /> + <glyph glyph-name="_565" unicode="" horiz-adv-x="1792" +d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 +q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 +v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 +v-384h32z" /> + <glyph glyph-name="_566" unicode="" +d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 +v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 +q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 +q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 +q0 -53 37.5 -90.5t90.5 -37.5h668z" /> + <glyph glyph-name="_567" unicode="" horiz-adv-x="1973" +d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 +t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 +q13 0 22 -8.5t10 -20.5z" /> + <glyph glyph-name="_568" unicode="" horiz-adv-x="1792" +d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 +t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 +q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_569" unicode="" horiz-adv-x="1792" +d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 +q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5 +t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 +q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 +t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" /> + <glyph glyph-name="f260" unicode="" horiz-adv-x="2048" +d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" /> + <glyph glyph-name="f261" unicode="" horiz-adv-x="1792" +d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 +t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_572" unicode="" horiz-adv-x="2304" +d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 +t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 +t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 +t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 +t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 +q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" /> + <glyph glyph-name="f263" unicode="" horiz-adv-x="1280" +d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 +t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 +q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" /> + <glyph glyph-name="_574" unicode="" +d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 +q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 +zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_575" unicode="" horiz-adv-x="1720" +d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 +l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" /> + <glyph glyph-name="_576" unicode="" horiz-adv-x="2304" +d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 +q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 +l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" /> + <glyph glyph-name="_577" unicode="" horiz-adv-x="1792" +d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 +q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 +t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 +t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 +t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 +t191 -286t71 -348z" /> + <glyph glyph-name="_578" unicode="" horiz-adv-x="1792" +d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 +q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" /> + <glyph glyph-name="_579" unicode="" horiz-adv-x="1792" +d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 +q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 +q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" /> + <glyph glyph-name="_580" unicode="" horiz-adv-x="1792" +d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 +q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z +" /> + <glyph glyph-name="_581" unicode="" horiz-adv-x="1792" +d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 +q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z +M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" /> + <glyph glyph-name="_582" unicode="" horiz-adv-x="2048" +d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 +v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="_583" unicode="" horiz-adv-x="1792" +d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 +h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 +q-68 175 -180 287z" /> + <glyph glyph-name="_584" unicode="" +d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 +q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 +q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 +q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 +q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 +t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" /> + <glyph glyph-name="_585" unicode="" horiz-adv-x="1792" +d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z +M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 +q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 +t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 +q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" /> + <glyph glyph-name="_586" unicode="" horiz-adv-x="1792" +d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 +h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 +v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" /> + <glyph glyph-name="_587" unicode="" horiz-adv-x="1792" +d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 +t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 +t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_588" unicode="" horiz-adv-x="1792" +d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z +M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 +q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_589" unicode="" horiz-adv-x="1792" +d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 +t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 +t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_590" unicode="" horiz-adv-x="1792" +d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" /> + <glyph glyph-name="_591" unicode="" horiz-adv-x="1024" +d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 +q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" /> + <glyph glyph-name="_592" unicode="" horiz-adv-x="1792" +d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 +q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" /> + <glyph glyph-name="_593" unicode="" horiz-adv-x="2048" +d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 +v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" /> + <glyph glyph-name="_594" unicode="" horiz-adv-x="1792" +d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 +q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" /> + <glyph glyph-name="_595" unicode="" horiz-adv-x="1792" +d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 +t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 +t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="_596" unicode="" horiz-adv-x="1792" +d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 +t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 +t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 +t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" /> + <glyph glyph-name="_597" unicode="" horiz-adv-x="1024" +d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" /> + <glyph glyph-name="_598" unicode="" horiz-adv-x="1792" +d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 +q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" /> + <glyph glyph-name="f27e" unicode="" +d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" /> + <glyph glyph-name="uniF280" unicode="" +d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 +h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 +l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" /> + <glyph glyph-name="uniF281" unicode="" horiz-adv-x="1792" +d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 +l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 +t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 +q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" /> + <glyph glyph-name="_602" unicode="" horiz-adv-x="1792" +d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 +q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" /> + <glyph glyph-name="_603" unicode="" horiz-adv-x="2304" +d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" /> + <glyph glyph-name="_604" unicode="" horiz-adv-x="1792" +d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308 +t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20 +t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" /> + <glyph glyph-name="uniF285" unicode="" horiz-adv-x="1792" +d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" /> + <glyph glyph-name="uniF286" unicode="" horiz-adv-x="1792" +d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 +q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 +q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 +q16 0 16 -16z" /> + <glyph glyph-name="_607" unicode="" horiz-adv-x="2304" +d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 +q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 +t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" /> + <glyph glyph-name="_608" unicode="" horiz-adv-x="1792" +d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 +t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_609" unicode="" horiz-adv-x="2304" +d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 +q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 +q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 +q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" /> + <glyph glyph-name="_610" unicode="" +d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 +t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 +q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 +t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" /> + <glyph glyph-name="_611" unicode="" +d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 +t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_612" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 +t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" /> + <glyph glyph-name="_613" unicode="" +d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="_614" unicode="" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 +t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" /> + <glyph glyph-name="_615" unicode="" horiz-adv-x="1792" +d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="_616" unicode="" horiz-adv-x="2048" +d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 +t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 +q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 +h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" /> + <glyph glyph-name="_617" unicode="" horiz-adv-x="1792" +d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 +q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 +q15 0 25 -12q9 -12 6 -28z" /> + <glyph glyph-name="_618" unicode="" +d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 +t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" /> + <glyph glyph-name="_619" unicode="" horiz-adv-x="1024" +d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" /> + <glyph glyph-name="_620" unicode="" +d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 +t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 +t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="_621" unicode="" horiz-adv-x="1792" +d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" /> + <glyph glyph-name="_622" unicode="" horiz-adv-x="1792" +d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 +q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" /> + <glyph glyph-name="_623" unicode="" +d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 +t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" /> + <glyph glyph-name="_624" unicode="" horiz-adv-x="1792" +d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 +q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 +q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" /> + <glyph glyph-name="_625" unicode="" horiz-adv-x="1792" +d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 +q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z +M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 +t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_626" unicode="" +d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 +l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z +M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" /> + <glyph glyph-name="_627" unicode="" +d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 +t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 +t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 +t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_628" unicode="" horiz-adv-x="1408" +d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 +q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 +q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 +q3 -1 7 1t7 4l3 2q11 9 11 17z" /> + <glyph glyph-name="_629" unicode="" horiz-adv-x="2304" +d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 +t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 +t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 +h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 +t9.5 -70.5z" /> + <glyph glyph-name="uniF2A0" unicode="" horiz-adv-x="1408" +d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 +q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 +l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 +t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 +q-18 -19 -45 -19z" /> + <glyph glyph-name="uniF2A1" unicode="" horiz-adv-x="2176" +d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 +q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 +q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 +t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 +t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 +t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 +t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="uniF2A2" unicode="" horiz-adv-x="1792" +d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z +M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 +t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 +t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 +q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" /> + <glyph glyph-name="uniF2A3" unicode="" horiz-adv-x="2304" +d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 +q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 +q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 +q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 +q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 +q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" /> + <glyph glyph-name="uniF2A4" unicode="" horiz-adv-x="1792" +d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 +t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 +t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 +l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" /> + <glyph glyph-name="uniF2A5" unicode="" +d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 +q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 +q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 +t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF2A6" unicode="" horiz-adv-x="1535" +d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 +l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 +q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 +q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" /> + <glyph glyph-name="uniF2A7" unicode="" horiz-adv-x="1664" +d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 +t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 +l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148 +q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26 +l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" /> + <glyph glyph-name="uniF2A8" unicode="" horiz-adv-x="1792" +d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 +q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 +q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 +q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" /> + <glyph glyph-name="uniF2A9" unicode="" horiz-adv-x="1280" +d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 +q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z +M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" /> + <glyph glyph-name="uniF2AA" unicode="" +d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z +M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 +q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="uniF2AB" unicode="" +d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 +q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 +t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="uniF2AC" unicode="" horiz-adv-x="1664" +d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 +q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 +t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" /> + <glyph glyph-name="uniF2AD" unicode="" +d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 +q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 +t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 +q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF2AE" unicode="" horiz-adv-x="2304" +d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 +q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 +q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" /> + <glyph glyph-name="uniF2B0" unicode="" +d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 +q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 +l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z +M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" /> + <glyph glyph-name="uniF2B1" unicode="" horiz-adv-x="1664" +d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 +t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" /> + <glyph glyph-name="uniF2B2" unicode="" horiz-adv-x="1792" +d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 +t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 +q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 +q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 +t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 +q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 +q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 +t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" /> + <glyph glyph-name="uniF2B3" unicode="" +d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 +h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="uniF2B4" unicode="" +d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 +q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" /> + <glyph glyph-name="uniF2B5" unicode="" horiz-adv-x="2304" +d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66 +l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180 +q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z +M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421 +q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" /> + <glyph glyph-name="uniF2B6" unicode="" horiz-adv-x="1792" +d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107 +t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39 +q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" /> + <glyph glyph-name="uniF2B7" unicode="" horiz-adv-x="1792" +d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5 +l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5 +h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94 +q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" /> + <glyph glyph-name="uniF2B8" unicode="" +d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465 +l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161 +q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74 +q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" /> + <glyph glyph-name="uniF2B9" unicode="" horiz-adv-x="1664" +d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576 +q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216 +q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" /> + <glyph glyph-name="uniF2BA" unicode="" horiz-adv-x="1664" +d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5 +t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96 +q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216 +q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" /> + <glyph glyph-name="uniF2BB" unicode="" horiz-adv-x="2048" +d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z +M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568 +q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9 +h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2BC" unicode="" horiz-adv-x="2048" +d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925 +q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568 +q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5 +t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113 +t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2BD" unicode="" horiz-adv-x="1792" +d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5 +t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2BE" unicode="" horiz-adv-x="1792" +d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61 +t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" /> + <glyph glyph-name="uniF2C0" unicode="" +d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5 +t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145 +q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" /> + <glyph glyph-name="uniF2C1" unicode="" horiz-adv-x="1280" +d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5 +t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352 +q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C2" unicode="" horiz-adv-x="2048" +d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56 +t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23 +v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728 +q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C3" unicode="" horiz-adv-x="2048" +d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z +M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64 +q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47 +h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C4" unicode="" horiz-adv-x="1792" +d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117 +q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5 +t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" /> + <glyph glyph-name="uniF2C5" unicode="" horiz-adv-x="2304" +d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21 +t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46 +t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54 +t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29 +q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5 +t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314 +q2 -42 2 -64z" /> + <glyph glyph-name="uniF2C6" unicode="" horiz-adv-x="1792" +d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 +t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2C7" unicode="" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2C8" unicode="" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2C9" unicode="" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2CA" unicode="" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2CB" unicode="" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z +M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" /> + <glyph glyph-name="uniF2CC" unicode="" horiz-adv-x="1920" +d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41 +t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19 +t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768 +q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19 +t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384 +q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" /> + <glyph glyph-name="uniF2CD" unicode="" horiz-adv-x="1792" +d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9 +t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9 +t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42 +q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9 +t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23 +t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" /> + <glyph glyph-name="uniF2CE" unicode="" +d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5 +t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70 +q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20 +q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5 +t72.5 -263.5z" /> + <glyph glyph-name="uniF2D0" unicode="" horiz-adv-x="1792" +d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D1" unicode="" horiz-adv-x="1792" +d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D2" unicode="" horiz-adv-x="2048" +d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47 +t47 -113z" /> + <glyph glyph-name="uniF2D3" unicode="" horiz-adv-x="1792" +d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10 +l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D4" unicode="" horiz-adv-x="1792" +d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 +l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D5" unicode="" horiz-adv-x="1792" +d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2D6" unicode="" horiz-adv-x="1794" +d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12 +t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5 +t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5 +q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5 +q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34 +q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5 +t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2D7" unicode="" +d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89 +q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5 +t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" /> + <glyph glyph-name="uniF2D8" unicode="" +d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7 +t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5 +h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113 +v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D9" unicode="" horiz-adv-x="2176" +d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584 +q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5 +q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15 +q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82 +q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104 +t302 11t306.5 -97q220 -115 333 -336t87 -474z" /> + <glyph glyph-name="uniF2DA" unicode="" horiz-adv-x="1792" +d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178 +q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199 +t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297 +t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208 +t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" /> + <glyph glyph-name="uniF2DB" unicode="" +d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16 +q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28 +t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32 +q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16 +h48q16 0 16 -16z" /> + <glyph glyph-name="uniF2DC" unicode="" horiz-adv-x="1664" +d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45 +t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33 +q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313 +l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106 +q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" /> + <glyph glyph-name="uniF2DD" unicode="" horiz-adv-x="1792" +d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321 +q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" /> + <glyph glyph-name="uniF2DE" unicode="" horiz-adv-x="1792" +d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62 +t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71 +t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2E0" unicode="" horiz-adv-x="1920" +d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3 +t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53 +q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5 +q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5 +t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5 +q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z +M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21 +q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16 +q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" /> + <glyph glyph-name="uniF2E1" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E2" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E3" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E4" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E5" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E6" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E7" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="_698" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E9" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EA" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EB" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EC" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2ED" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EE" unicode="" horiz-adv-x="1792" + /> + <glyph glyph-name="lessequal" unicode="" horiz-adv-x="1792" + /> + </font> +</defs></svg> diff --git a/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg.gz b/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg.gz new file mode 100644 index 000000000..a659bf013 Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-ad6157926c1622ba4e1d03d478f1541368524bfc46f51e42fe0d945f7ef323e4.svg.gz differ diff --git a/public/assets/font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff b/public/assets/font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/public/assets/font-awesome/fontawesome-webfont-ba0c59deb5450f5cb41b3f93609ee2d0d995415877ddfa223e8a8a7533474f07.woff differ diff --git a/public/assets/logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png b/public/assets/logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png new file mode 100644 index 000000000..436d23490 Binary files /dev/null and b/public/assets/logo-7ff112568709bf97f9898fe87249b7a8f200ff1f48d537d85af87215f1870423.png differ diff --git a/public/react/public/css/edu-all.css b/public/react/public/css/edu-all.css index 6d180e342..75039c3a4 100644 --- a/public/react/public/css/edu-all.css +++ b/public/react/public/css/edu-all.css @@ -119,7 +119,7 @@ em.vertical-line{display: inline-block;width: 2px;background: #999;height: 10px} .tag-green .tag-name{display: block;width: auto; /*background-image: url("/images/educoder/tag1.png");*/ background: rgba(000,000,000,0.56); - border: 1px solid #fff; + border: 1px solid rgba(255,255,255,0.56); border-radius: 3px; font-size: 12px; /*opacity: 0.56;*/ diff --git a/public/react/src/common/components/attachment/AttachmentList.js b/public/react/src/common/components/attachment/AttachmentList.js index afc55fe1f..aee5eb68c 100644 --- a/public/react/src/common/components/attachment/AttachmentList.js +++ b/public/react/src/common/components/attachment/AttachmentList.js @@ -12,7 +12,7 @@ class AttachmentsList extends Component{ { attachments.map((item,key)=>{ return( - <p key={key}> + <p key={key} className="clearfix mb3"> <a className="color-grey fl"> <i className="font-14 color-green iconfont icon-fujian mr8"></i> </a> diff --git a/public/react/src/modules/courses/graduation/tasks/index.js b/public/react/src/modules/courses/graduation/tasks/index.js index ffab2a41f..18e6f3deb 100644 --- a/public/react/src/modules/courses/graduation/tasks/index.js +++ b/public/react/src/modules/courses/graduation/tasks/index.js @@ -563,7 +563,7 @@ class GraduationTasks extends Component{ //debugger let {search,page,order,all_count} = this.state; this.fetchAll(search,page,order,all_count) - debugger + } getcourse_groupslist=(id)=>{ diff --git a/public/react/src/modules/courses/graduation/topics/GraduateTopicDetailInfo.js b/public/react/src/modules/courses/graduation/topics/GraduateTopicDetailInfo.js index 9ba334421..033033c42 100644 --- a/public/react/src/modules/courses/graduation/topics/GraduateTopicDetailInfo.js +++ b/public/react/src/modules/courses/graduation/topics/GraduateTopicDetailInfo.js @@ -59,7 +59,7 @@ class GraduateTopicDetailTable extends Component{ </div> { topicInfo && topicInfo.attachment_list.length>0 && - <p className="mt30"> + <div className="mt30"> {/* { topicInfo.attachment_list.map((item,key)=>{ return( @@ -75,7 +75,7 @@ class GraduateTopicDetailTable extends Component{ }) } */} <AttachmentList {...this.props} {...this.state} attachments = {topicInfo.attachment_list}></AttachmentList> - </p> + </div> } </div> <div className="mt30"> diff --git a/public/stylesheets/educoder/edu-all.css b/public/stylesheets/educoder/edu-all.css index c4718c076..1265fb689 100644 --- a/public/stylesheets/educoder/edu-all.css +++ b/public/stylesheets/educoder/edu-all.css @@ -121,7 +121,7 @@ em.vertical-line{display: inline-block;width: 2px;background: #999;height: 10px} .tag-green .tag-name{display: block;width: auto; /*background-image: url("/images/educoder/tag1.png");*/ background: rgba(000,000,000,0.56); - border: 1px solid #fff; + border: 1px solid rgba(255,255,255,0.56); border-radius: 3px; font-size: 12px; /*opacity: 0.56;*/