diff --git a/client/bower.json b/client/bower.json index 6f45f82cb01..8ae45d46b4a 100644 --- a/client/bower.json +++ b/client/bower.json @@ -17,7 +17,6 @@ "d3": "~3", "farbtastic": "~2.0.0-alpha.1", "toastr": "~2.1.0", - "jQTouch": "git://github.com/senchalabs/jQTouch#~1.0.0", "bib2json": "git://github.com/galaxyproject/bib2json#galaxy", "jquery-form": "~3.46.0", "jquery-autocomplete": "git://github.com/dyve/jquery-autocomplete", diff --git a/client/galaxy/scripts/libs/jquery/jqtouch.js b/client/galaxy/scripts/libs/jquery/jqtouch.js deleted file mode 100644 index 0f5426d07c5..00000000000 --- a/client/galaxy/scripts/libs/jquery/jqtouch.js +++ /dev/null @@ -1,883 +0,0 @@ -(function() { - - $.jQTouch = function(options) { - // Initialize internal jQT variables - var $body, - $head=$('head'), - history=[], - newPageCount=0, - jQTSettings={}, - $currentPage='', - orientation='portrait', - touchSelectors=[], - publicObj={}, - tapBuffer=100, // High click delay = ~350, quickest animation (slide) = 250 - extensions=$.jQTouch.prototype.extensions, - extTapHandlers=$.jQTouch.prototype.tapHandlers, - tapHandlers=[], - animations=[], - hairExtensions='', - defaults = { - addGlossToIcon: true, - backSelector: '.back, .cancel, .goback', - cacheGetRequests: true, - debug: true, - defaultAnimation: 'slideleft', - fixedViewport: true, - formSelector: 'form', - fullScreen: true, - fullScreenClass: 'fullscreen', - icon: null, - icon4: null, // available in iOS 4.2 and later - preloadImages: false, - starter: $(document).ready, - startupScreen: null, - statusBar: 'default', // other options: black-translucent, black - submitSelector: '.submit', - touchSelector: 'a, .touch', - trackScrollPositions: true, - updateHash: true, - useAnimations: true, - useFastTouch: true, - useTouchScroll: true, - animations: [ // highest to lowest priority - {name:'cubeleft', selector:'.cubeleft, .cube', is3d: true}, - {name:'cuberight', selector:'.cuberight', is3d: true}, - {name:'dissolve', selector:'.dissolve'}, - {name:'fade', selector:'.fade'}, - {name:'flipleft', selector:'.flipleft, .flip', is3d: true}, - {name:'flipright', selector:'.flipright', is3d: true}, - {name:'pop', selector:'.pop', is3d: true}, - {name:'swapleft', selector:'.swapleft, .swap', is3d: true}, - {name:'swapright', selector:'.swapright', is3d: true}, - {name:'slidedown', selector:'.slidedown'}, - {name:'slideright', selector:'.slideright'}, - {name:'slideup', selector:'.slideup'}, - {name:'slideleft', selector:'.slideleft, .slide, #jqt > * > ul li a'} - ] - }; // end defaults - - function warn(message) { - if (window.console !== undefined && jQTSettings.debug === true) { - console.warn(message); - } - } - - function addAnimation(animation) { - if (typeof(animation.selector) === 'string' && typeof(animation.name) === 'string') { - animations.push(animation); - } - } - - function addTapHandler(tapHandler) { - if (typeof(tapHandler.name) === 'string' && typeof(tapHandler.isSupported) === 'function' && typeof(tapHandler.fn) === 'function') { - tapHandlers.push(tapHandler); - } - } - - function addPageToHistory(page, animation) { - history.unshift({ - page: page, - animation: animation, - hash: '#' + page.attr('id'), - id: page.attr('id') - }); - } - - // Unfortunately, we can not assume the 'tap' event - // is being used for links, forms, etc. - function clickHandler(e) { - // Figure out whether to prevent default - var $el = $(e.target); - - // Find the nearest tappable ancestor - if (!$el.is(touchSelectors.join(', '))) { - $el = $(e.target).closest(touchSelectors.join(', ')); - } - - // Prevent default if we found an internal link - // (relative or absolute) - if ($el && $el.attr('href') && !$el.isExternalLink()) { - warn('Need to prevent default click behavior.'); - e.preventDefault(); - } else { - warn('No need to prevent default click behavior.'); - } - - // Trigger a tap event if touchstart is not on the job - if ($.support.touch) { - warn('Not converting click to a tap event because touch handler is on the job.'); - } else { - warn('Converting click event to a tap event because touch handlers are not present or off.'); - $(e.target).trigger('tap', e); - } - } - - function doNavigation(fromPage, toPage, animation, goingBack) { - - goingBack = goingBack ? goingBack : false; - - // Error check for target page - if (toPage === undefined || toPage.length === 0) { - $.fn.unselect(); - warn('Target element is missing.'); - return false; - } - - // Error check for fromPage === toPage - if (toPage.hasClass('current')) { - $.fn.unselect(); - warn('You are already on the page you are trying to navigate to.'); - return false; - } - - // Collapse the keyboard - $(':focus').trigger('blur'); - - fromPage.trigger('pageAnimationStart', { direction: 'out', back: goingBack }); - toPage.trigger('pageAnimationStart', { direction: 'in', back: goingBack }); - - if ($.support.animationEvents && animation && jQTSettings.useAnimations) { - // Fail over to 2d animation if need be - if (!$.support.transform3d && animation.is3d) { - warn('Did not detect support for 3d animations, falling back to ' + jQTSettings.defaultAnimation + '.'); - animation.name = jQTSettings.defaultAnimation; - } - - // Reverse animation if need be - var finalAnimationName = animation.name, - is3d = animation.is3d ? 'animating3d' : ''; - - if (goingBack) { - finalAnimationName = finalAnimationName.replace(/left|right|up|down|in|out/, reverseAnimation); - } - - warn('finalAnimationName is ' + finalAnimationName + '.'); - - // Bind internal 'cleanup' callback - fromPage.bind('webkitAnimationEnd', navigationEndHandler); - - // Trigger animations - $body.addClass('animating ' + is3d); - - var lastScroll = window.pageYOffset; - - // Position the incoming page so toolbar is at top of - // viewport regardless of scroll position on from page - if (jQTSettings.trackScrollPositions === true) { - toPage.css('top', window.pageYOffset - (toPage.data('lastScroll') || 0)); - } - - toPage.addClass(finalAnimationName + ' in current'); - fromPage.removeClass('current').addClass(finalAnimationName + ' out inmotion'); - - if (jQTSettings.trackScrollPositions === true) { - fromPage.data('lastScroll', lastScroll); - $('.scroll', fromPage).each(function() { - $(this).data('lastScroll', this.scrollTop); - }); - } - } else { - toPage.addClass('current in'); - fromPage.removeClass('current'); - navigationEndHandler(); - } - - // Housekeeping - $currentPage = toPage; - if (goingBack) { - history.shift(); - } else { - addPageToHistory($currentPage, animation); - } - setHash($currentPage.attr('id')); - - // Private navigationEnd callback - function navigationEndHandler(event) { - var bufferTime = tapBuffer; - - if ($.support.animationEvents && animation && jQTSettings.useAnimations) { - fromPage.unbind('webkitAnimationEnd', navigationEndHandler); - fromPage.removeClass(finalAnimationName + ' out inmotion'); - if (finalAnimationName) { - toPage.removeClass(finalAnimationName); - } - $body.removeClass('animating animating3d'); - if (jQTSettings.trackScrollPositions === true) { - toPage.css('top', -toPage.data('lastScroll')); - - // Have to make sure the scroll/style resets - // are outside the flow of this function. - setTimeout(function() { - toPage.css('top', 0); - window.scroll(0, toPage.data('lastScroll')); - $('.scroll', toPage).each(function() { - this.scrollTop = - $(this).data('lastScroll'); - }); - }, 0); - } - } else { - fromPage.removeClass(finalAnimationName + ' out inmotion'); - if (finalAnimationName) { - toPage.removeClass(finalAnimationName); - } - bufferTime += 260; - } - - // 'in' class is intentionally delayed, - // as it is our ghost click hack - setTimeout(function() { - toPage.removeClass('in'); - window.scroll(0,0); - }, bufferTime); - - fromPage.unselect(); - - // Trigger custom events - toPage.trigger('pageAnimationEnd', { - direction:'in', - animation: animation, - back: goingBack - }); - fromPage.trigger('pageAnimationEnd', { - direction:'out', - animation: animation, - back: goingBack - }); - } - - return true; - } - - function reverseAnimation(animation) { - var opposites={ - 'up' : 'down', - 'down' : 'up', - 'left' : 'right', - 'right' : 'left', - 'in' : 'out', - 'out' : 'in' - }; - - return opposites[animation] || animation; - } - - function getOrientation() { - return orientation; - } - - function goBack() { - // Error checking - if (history.length < 1) { - warn('History is empty.'); - } - - if (history.length === 1) { - warn('You are on the first panel.'); - window.history.go(-1); - } - - var from = history[0], - to = history[1]; - - if (doNavigation(from.page, to.page, from.animation, true)) { - return publicObj; - } else { - warn('Could not go back.'); - return false; - } - } - - function goTo(toPage, animation) { - var fromPage = history[0].page; - - if (typeof animation === 'string') { - for (var i=0, max=animations.length; i < max; i++) { - if (animations[i].name === animation) { - animation = animations[i]; - break; - } - } - } - - if (typeof toPage === 'string') { - var nextPage = $(toPage); - - if (nextPage.length < 1) { - showPageByHref(toPage, { - animation: animation - }); - return; - } else { - toPage = nextPage; - } - } - if (doNavigation(fromPage, toPage, animation)) { - return publicObj; - } else { - warn('Could not animate pages.'); - return false; - } - } - - function hashChangeHandler(e) { - if (location.hash === history[0].hash) { - warn('We are on the right panel.'); - return true; - } else if (location.hash === '') { - goBack(); - return true; - } else if (history[1] && location.hash === history[1].hash) { - goBack(); - return true; - } else { - // Lastly, just try going to the ID... - warn('Could not find ID in history, just forwarding to DOM element.'); - goTo($(location.hash), jQTSettings.defaultAnimation); - } - } - - function initHairExtensions(options) { - // Preload images - if (jQTSettings.preloadImages) { - for (var i = jQTSettings.preloadImages.length - 1; i >= 0; i--) { - (new Image()).src = jQTSettings.preloadImages[i]; - } - } - - // Set appropriate icon - // (retina display available in iOS 4.2 and later.) - var precomposed = (jQTSettings.addGlossToIcon) ? '' : '-precomposed'; - if (jQTSettings.icon) { - hairExtensions += ''; - } - if (jQTSettings.icon4) { - hairExtensions += ''; - } - // Set startup screen - if (jQTSettings.startupScreen) { - hairExtensions += ''; - } - - // Set viewport - if (jQTSettings.fixedViewport) { - hairExtensions += ''; - } - - // Set full-screen - if (jQTSettings.fullScreen) { - hairExtensions += ''; - if (jQTSettings.statusBar) { - hairExtensions += ''; - } - } - - // Attach hair extensions - if (hairExtensions) { - $head.prepend(hairExtensions); - } - } - - function initFXExtensions() { - // Define public jQuery functions - $.fn.isExternalLink = function() { - var $el = $(this); - return ($el.attr('target') === '_blank' || $el.attr('rel') === 'external' || $el.is('a[href^="http://maps.google.com"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')); - }; - $.fn.makeActive = function() { - return $(this).addClass('active'); - }; - $.fn.unselect = function(obj) { - if (obj) { - obj.removeClass('active'); - } else { - $('.active').removeClass('active'); - } - }; - } - - function getAnimation(el) { - var animation; - - for (var i=0, max=animations.length; i < max; i++) { - if (el.is(animations[i].selector)) { - animation = animations[i]; - break; - } - } - - if (!animation) { - warn('Animation could not be found. Using ' + jQTSettings.defaultAnimation + '.'); - animation = jQTSettings.defaultAnimation; - } - return animation; - } - - function insertPages(nodes, animation) { - - var targetPage = null; - - // Call dom.createElement element directly - // instead of relying on $(nodes), to work around: - // https://github.com/madrobby/zepto/issues/312 - var div = document.createElement('div'); - div.innerHTML = nodes; - - $(div).children().each(function(index, node) { - var $node = $(this); - if (!$node.attr('id')) { - $node.attr('id', 'page-' + (++newPageCount)); - } - - // Remove any existing instance - $('#' + $node.attr('id')).remove(); - - $body.append($node); - $body.trigger('pageInserted', {page: $node}); - - if ($node.hasClass('current') || !targetPage) { - targetPage = $node; - } - }); - if (targetPage !== null) { - goTo(targetPage, animation); - return targetPage; - } else { - return false; - } - } - - function orientationChangeHandler() { - scrollTo(0,0); - orientation = Math.abs(window.orientation) === 90 ? 'landscape' : 'portrait'; - $body.removeClass('portrait landscape').addClass(orientation).trigger('turn', {orientation: orientation}); - } - - function setHash(hash) { - // Sanitize - if (jQTSettings.updateHash) { - location.hash = '#' + hash.replace(/^#/, ''); - } - } - - // Document ready stuff - function start() { - // Store some properties in a support object - if (!$.support) $.support = {}; - $.support.animationEvents = (typeof window.WebKitAnimationEvent !== 'undefined'); - $.support.touch = (typeof window.TouchEvent !== 'undefined') && (window.navigator.userAgent.indexOf('Mobile') > -1) && jQTSettings.useFastTouch; - $.support.transform3d = supportForTransform3d(); - $.support.ios5 = supportIOS5(); - - if (!$.support.touch) { - warn('This device does not support touch interaction, or it has been deactivated by the developer. Some features might be unavailable.'); - } - if (!$.support.transform3d) { - warn('This device does not support 3d animation. 2d animations will be used instead.'); - } - - // Add extensions - for (var i=0, max=extensions.length; i < max; i++) { - var fn = extensions[i]; - if ($.isFunction(fn)) { - $.extend(publicObj, fn(publicObj)); - } - } - - // Add extensions tapHandlers - for (var j=0, maxTapHandlers=extTapHandlers.length; j < maxTapHandlers; j++) { - addTapHandler(extTapHandlers[j]); - } - // Add default tapHandlers - addDefaultTapHandlers(); - - // Add animations - for (var k=0, maxAnimations=defaults.animations.length; k < maxAnimations; k++) { - var animation = defaults.animations[k]; - if (jQTSettings[animation.name + 'Selector'] !== undefined) { - animation.selector = jQTSettings[animation.name + 'Selector']; - } - addAnimation(animation); - } - - // Create an array of stuff that needs touch event handling - touchSelectors.push(jQTSettings.touchSelector); - touchSelectors.push(jQTSettings.backSelector); - touchSelectors.push(jQTSettings.submitSelector); - $(touchSelectors.join(', ')).css('-webkit-touch-callout', 'none'); - - // Make sure we have a jqt element - $body = $('#jqt'); - var anatomyLessons = []; - - if ($body.length === 0) { - warn('Could not find an element with the id "jqt", so the body id has been set to "jqt". If you are having any problems, wrapping your panels in a div with the id "jqt" might help.'); - $body = $(document.body).attr('id', 'jqt'); - } - - // Add some specific css if need be - if ($.support.transform3d) { - anatomyLessons.push('supports3d'); - } - - if (jQTSettings.useTouchScroll) { - if ($.support.ios5) { - anatomyLessons.push('touchscroll'); - } else { - anatomyLessons.push('autoscroll'); - } - } - - if (jQTSettings.fullScreenClass && window.navigator.standalone === true) { - anatomyLessons.push(jQTSettings.fullScreenClass, jQTSettings.statusBar); - } - - // Bind events - $body - .addClass(anatomyLessons.join(' ')) - .bind('click', clickHandler) - .bind('orientationchange', orientationChangeHandler) - .bind('submit', submitHandler) - .bind('tap', tapHandler) - .bind($.support.touch ? 'touchstart' : 'mousedown', touchStartHandler) - .trigger('orientationchange'); - - $(window).bind('hashchange', hashChangeHandler); - - var startHash = location.hash; - - // Determine what the initial view should be - if ($('#jqt > .current').length === 0) { - $currentPage = $('#jqt > *:first-child').addClass('current'); - } else { - $currentPage = $('#jqt > .current'); - } - - setHash($currentPage.attr('id')); - addPageToHistory($currentPage); - - if ($(startHash).length === 1) { - goTo(startHash); - } - } - - function showPageByHref(href, options) { - - var defaults = { - data: null, - method: 'GET', - animation: null, - callback: null, - $referrer: null - }; - - var settings = $.extend({}, defaults, options); - - if (href !== '#') { - $.ajax({ - url: href, - data: settings.data, - type: settings.method, - success: function (data) { - var firstPage = insertPages(data, settings.animation); - if (firstPage) { - if (settings.method === 'GET' && jQTSettings.cacheGetRequests === true && settings.$referrer) { - settings.$referrer.attr('href', '#' + firstPage.attr('id')); - } - if (settings.callback) { - settings.callback(true); - } - } - }, - error: function (data) { - if (settings.$referrer) { - settings.$referrer.unselect(); - } - if (settings.callback) { - settings.callback(false); - } - } - }); - } else if (settings.$referrer) { - settings.$referrer.unselect(); - } - } - - function submitHandler(e, callback) { - - $(':focus').trigger('blur'); - - e.preventDefault(); - - var $form = (typeof(e)==='string') ? $(e).eq(0) : (e.target ? $(e.target) : $(e)); - - if ($form.length && $form.is(jQTSettings.formSelector) && $form.attr('action')) { - showPageByHref($form.attr('action'), { - data: $form.serialize(), - method: $form.attr('method') || 'POST', - animation: getAnimation($form), - callback: callback - }); - return false; - } - return true; - } - - function submitParentForm($el) { - - var $form = $el.closest('form'); - if ($form.length === 0) { - warn('No parent form found.'); - } else { - warn('About to submit parent form.'); - $form.trigger('submit'); - return false; - } - return true; - } - - function supportForTransform3d() { - - var head, body, style, div, result; - - head = document.getElementsByTagName('head')[0]; - body = document.body; - - style = document.createElement('style'); - style.textContent = '@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-webkit-transform-3d){#jqt-3dtest{height:3px}}'; - - div = document.createElement('div'); - div.id = 'jqt-3dtest'; - - // Add to the page - head.appendChild(style); - body.appendChild(div); - - // Check the result - result = div.offsetHeight === 3; - - // Clean up - style.parentNode.removeChild(style); - div.parentNode.removeChild(div); - - // Pass back result - warn('Support for 3d transforms: ' + result + '.'); - return result; - } - - function supportIOS5() { - var support = false; - var REGEX_IOS_VERSION = /OS (\d+)(_\d+)* like Mac OS X/i; - - var agentString = window.navigator.userAgent; - if (REGEX_IOS_VERSION.test(agentString)) { - support = (REGEX_IOS_VERSION.exec(agentString)[1] >= 5); - } - return support; - } - - function touchStartHandler(e) { - - var $el = $(e.target), - selectors = touchSelectors.join(', '); - - // Find the nearest tappable ancestor - if (!$el.is(selectors)) { - $el = $el.closest(selectors); - } - - // Make sure we have a tappable element - if ($el.length && $el.attr('href')) { - $el.addClass('active'); - } - - // Remove our active class if we move - $el.on($.support.touch ? 'touchmove' : 'mousemove', function() { - $el.removeClass('active'); - }); - - $el.on('touchend', function() { - $el.unbind('touchmove mousemove'); - }); - } - - function tapHandler(e) { - - if (e.isDefaultPrevented()) { - return true; - } - - // Grab the target element - var $el = $(e.target); - - // Find the nearest tappable ancestor - if (!$el.is(touchSelectors.join(', '))) { - $el = $el.closest(touchSelectors.join(', ')); - } - - // Make sure we have a tappable element - if (!$el.length || !$el.attr('href')) { - warn('Could not find a link related to tapped element.'); - return true; - } - - // Init some vars - var target = $el.attr('target'), - hash = $el.prop('hash'), - href = $el.attr('href'); - - var params = { - e: e, - $el: $el, - target: target, - hash: hash, - href: href, - jQTSettings: jQTSettings - }; - - // Loop thru all handlers - for (var i=0, len=tapHandlers.length; i * { - display: none; - position: absolute; - margin: 0; - padding: 0; - left: 0; - width: 100%; - min-height: 480px; - -webkit-transform: translate(0px,0px); - background-color: #fff; -} - -body[orient="landscape"] > * { - min-height: 320px; -} - -body > *[selected="true"], body > *[selected="selected"] { - display: block; -} - -.edgetoedge a[selected=true], .edgetoedge a:active, .panel a[selected=true], .panel a:active { - background-color: rgb(170,170,238) !important; -} - -a[selected="progress"] { - background-color: rgb(170,170,238) !important; - background-image: url(img/loading.gif) !important; - background-repeat: no-repeat !important; - background-position: right center !important; -} - -/* @group Toolbar */ -.toolbar { - -webkit-box-sizing: border-box; - padding: 10px; - /* height: 60px; */ - /* padding-top: 28px; */ - /* background: #000 url(img/toolbar.gif) bottom left repeat-x; */ - height: 42px; - background: rgb(44,49,67); - position: relative; -} - -.toolbar > h1 { - position: absolute; - overflow: hidden; - left: 50%; - margin: 1px 0 0 -75px; - height: 45px; - font-size: 20px; - width: 150px; - font-weight: bold; - /*text-shadow: rgba(0, 0, 0, .75) -1px -1px 0;*/ - text-align: center; - text-overflow: ellipsis; - white-space: nowrap; - color: #f6f6f6; -} - -body[orient="landscape"] .toolbar > h1 { - margin-left: -125px; - width: 250px; -} - -/* @end */ - -.button { - position: absolute; - overflow: hidden; - bottom: 5px; - right: 6px; - margin: 0; - border-width: 0 5px; - padding: 0 3px; - width: auto; - height: 30px; - line-height: 30px; - font-family: inherit; - font-size: 12px; - font-weight: bold; - color: #FFFFFF; - text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0; - text-overflow: ellipsis; - text-decoration: none; - white-space: nowrap; - background: none; - -webkit-border-image: url(img/button.png) 0 5 0 5; -} - -.button:active { - -webkit-border-image: url(img/button_clicked.png) 0 5 0 5; - -} - -.blueButton { - -webkit-border-image: url(img/blueButton.png) 0 5 0 5; - border-width: 0 5px; -} - -.leftButton { - left: 6px; - right: auto; -} - -.toolbar .back { - left: 6px; - right: auto; - padding: 0; - max-width: 55px; - border-width: 0 8px 0 15px; - -webkit-border-image: url(img/back_button.png) 0 8 0 15; -} - -.toolbar .back:active { - -webkit-border-image: url(img/back_button_clicked.png) !important; -} - -.whiteButton, -.grayButton { - display: block; - border-width: 0 12px; - padding: 10px; - text-align: center; - font-size: 20px; - font-weight: bold; - text-decoration: inherit; - color: inherit; -} - -.whiteButton { - -webkit-border-image: url(img/whiteButton.png) 0 12 0 12; - text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0; -} - -.grayButton { - -webkit-border-image: url(img/grayButton.png) 0 12 0 12; - color: #FFFFFF; -} - - -/* @group Edge to edge */ - -.edgetoedge { - margin: 0; - padding: 0; - background-color: #fff; -} - -.edgetoedge > li { - position: relative; - margin: 0; - border-bottom: 1px solid #E0E0E0; - padding: 8px 0 8px 10px; - font-size: 20px; - font-weight: bold; - list-style: none; - /* background: url(../img/bg_row.gif) 0 2px repeat-x; */ - color: #999; -} - -.edgetoedge > li.group { - position: relative; - top: -1px; - margin-bottom: -2px; - border-top: 1px solid #7d7d7d; - border-bottom: 1px solid #999999; - padding: 1px 10px; - background: url(img/listGroup.png) repeat-x; - font-size: 17px; - font-weight: bold; - text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0; - color: #FFFFFF; -} - -.edgetoedge > li.group:first-child, .inset > li.group:first-child { - top: 0; - border-top: none; -} - -.edgetoedge a, .inset a { - display: block; - margin: -8px 0 -8px -10px; - padding: 8px 32px 8px 10px; - text-decoration: none; - color: #000; - /* - background-image: url(img/bg_row.gif), url(img/chevron.png); - background-repeat: repeat-x, no-repeat; - background-position: 0 1px, right center; - */ - background-image: url(img/chevron.png); - background-repeat: no-repeat; - background-position: right center; -} -/* @end */ - -a[target="_replace"] { - box-sizing: border-box; - -webkit-box-sizing: border-box; - padding-top: 25px; - padding-bottom: 25px; - font-size: 18px; - color: cornflowerblue; - background-color: #FFFFFF; - background-image: none; -} - -body > .dialog { - top: 0; - width: 100%; - min-height: 417px; - z-index: 2; - background: rgba(0, 0, 0, 0.8); - padding: 0; - text-align: right; -} - -.dialog > fieldset { - box-sizing: border-box; - -webkit-box-sizing: border-box; - width: 100%; - margin: 0; - border: none; - border-top: 1px solid #6d84a2; - padding: 10px 6px; - background: url(img/toolbar.png) #7388a5 repeat-x; -} - -.dialog > fieldset > h1 { - margin: 0 10px 0 10px; - padding: 0; - font-size: 20px; - font-weight: bold; - color: #FFFFFF; - text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0; - text-align: center; -} - -.dialog > fieldset > label { - position: absolute; - margin: 16px 0 0 6px; - font-size: 14px; - color: #999999; -} - -input { - box-sizing: border-box; - -webkit-box-sizing: border-box; - width: 100%; - margin: 8px 0 0 0; - padding: 6px 6px 6px 44px; - font-size: 16px; - font-weight: normal; -} - - -.panel { - box-sizing: border-box; - -webkit-box-sizing: border-box; - background: #c8c8c8 url(img/pinstripes.png); - overflow: auto; -} - -.pad { - padding: 15px; -} - -.panel fieldset { - position: relative; - margin: 0 0 20px 0; - padding: 0; - background: #FFFFFF; - -webkit-border-radius: 10px; - border: 1px solid #999999; - /* text-align: right; */ - font-size: 16px; -} - -.row { - position: relative; - min-height: 42px; - border-bottom: 1px solid #999999; - -webkit-border-radius: 0; - /* text-align: right; */ -} - -fieldset .row:last-child { - border-bottom: none !important; -} - -.row > input { - box-sizing: border-box; - -webkit-box-sizing: border-box; - margin: 0; - border: none; - padding: 12px 10px 0 110px; - min-height: 42px; - background: none; -} - -.row > span { - display: block; - text-align: left; - box-sizing: border-box; - -webkit-box-sizing: border-box; - margin: 0; - border: none; - padding: 12px 10px 10px 110px; - min-height: 42px; - background: none; -} - -.row > a { - display: block; - height: 42px; - text-decoration: none; - padding: 0 0 0 14px; - line-height: 42px; - font-weight: bold; - color: #000; - background-image: url(img/chevron.png); - background-repeat: no-repeat; - background-position: right center; -} - -.row > label { - position: absolute; - margin: 0 0 0 14px; - line-height: 42px; - font-weight: bold; -} - -.row > .toggle { - position: absolute; - top: 6px; - right: 6px; - width: 100px; - height: 28px; -} - -.toggle { - border: 1px solid #888888; - -webkit-border-radius: 6px; - background: #FFFFFF url(img/toggle.png) repeat-x; - font-size: 19px; - font-weight: bold; - line-height: 30px; -} - -.toggle[toggled="true"] { - border: 1px solid #143fae; - background: #194fdb url(img/toggleOn.png) repeat-x; -} - -.toggleOn { - display: none; - position: absolute; - width: 60px; - text-align: center; - left: 0; - top: 0; - color: #FFFFFF; - text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0; -} - -.toggleOff { - position: absolute; - width: 60px; - text-align: center; - right: 0; - top: 0; - color: #666666; -} - -.toggle[toggled="true"] > .toggleOn { - display: block; -} - -.toggle[toggled="true"] > .toggleOff { - display: none; -} - -.thumb { - position: absolute; - top: -1px; - left: -1px; - width: 40px; - height: 28px; - border: 1px solid #888888; - -webkit-border-radius: 6px; - background: #ffffff url(img/thumb.png) repeat-x; -} - -.toggle[toggled="true"] > .thumb { - left: auto; - right: -1px; -} - -.panel h2 { - margin: 0 0 8px 14px; - font-size: inherit; - font-weight: bold; - color: rgb(17, 20, 23, .5); - text-shadow: rgba(255, 255, 255, 0.75) 1px 1px 0; -} - -.panel p a { - color: #4195ca; -} - -#about { - background: rgb(17, 20, 23); - color: #ddd; - text-shadow: rgba(255, 255, 255, 0.3) 0px -1px 0; - font-size: 20px; -}