/*!
* jQuery Mobile 1.4.0
* Git HEAD hash: f09aae0e035d6805e461a7be246d04a0dbc98f69 <> Date: Thu Dec 19 2013 17:34:22 UTC
* http://jquerymobile.com
*
* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
*/


.ui-icon-action:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKZJREFUKJGVkbEJAkEQRQcRM2OxAQswE8E27MDUDo5rQ8HYIswtRQwFDTR4f0xcmTuX9e6Hs/8tf/6YdRCwd/dRF29D7u7AWdK0N/iBL5IWjWFQbWYmaQYc3f0WH4GXu2/aYIJWwCPz6S+YYkkaA1fgKamSNClGDeAWuEtaFstpg8BJ0jqWA+zSOdI6OfBQaLf+ejNR5//OkgVLit5hHHaBkwZ9zFFvZs0ccjGSLdsAAAAASUVORK5CYII=');
}
.ui-icon-arrow-d-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFNJREFUKJG1z0EOwCAIRNFJL65H82bfldYYLJOYsgReGCSzgApUd39Fozy8oYmfDEkqX0P30hs1yp2iBc6mhTYI0CwUQA8ZMEYJbEf018WrH4+4A9wPh5Xf8X4IAAAAAElFTkSuQmCC');
}
.ui-icon-arrow-d-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFNJREFUKJGdz8ENwCAMQ9Goi8NobPa5BIlWSmXHNwJPJhEZYAIznCQ60fAHyfgp5kNqLlrL5tdcxeed1XzfO99e98Hd+R8quISJlw1bja0dFQSwAX/xh5U/zsvtAAAAAElFTkSuQmCC');
}
.ui-icon-arrow-d:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEhJREFUKJHtzkEOACEIQ1Hrybn5d2UyqYgcYLoj9BE0kgB8Z0nyzsxgJz+sIBBYvOR7IPbiwEXCr3Zw+DcdnKMHrtEF95DhK1pu1cxOP8SdXAAAAABJRU5ErkJggg==');
}
.ui-icon-arrow-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEZJREFUKJGt0EEKACAMA8Hiy/vz9SSIGG2ruYaBEDMRwFUnAzhACaXgjMJwRSG4Q7eUEEALH/Bt6tM5Cpdnp+CM03DgU98BQE0QhxV4c5sAAAAASUVORK5CYII=');
}
.ui-icon-arrow-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAE1JREFUKJGlzkEOgCAMRNEJ8d725t+FJqBgaeFvJ6+p5ASYt3uQJUwth3kXx/SZN84ySTpSv9+dgMoC3Hs1e3SOBjCGPjCOGphDD/xFF8mf3K/9psbaAAAAAElFTkSuQmCC');
}
.ui-icon-arrow-u-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAExJREFUKJG1zzEOACAIA8Diy/Fn/gw3BwJSTGSEXEph3Cj8PCECxqiAK0W/ElsdF4390cyUwtGSwlkHOrmLxw2KiAKYZQKZXL8a4IM2BLqImUv2H64AAAAASUVORK5CYII=');
}
.ui-icon-arrow-u-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAE1JREFUKJG9z0ESACAEBdB0ct3MzbSpmcagr0V/iTdozURVWYFYB2MXIjiEC8ufjU8/JkhCmCC2fRjZuRI6cRnt9KA+iCiF3ql34GAYTbCliJmlXPngAAAAAElFTkSuQmCC');
}
.ui-icon-arrow-u:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAERJREFUKJHt0DsOACAIREHw5Nx8rTT+dsXe1xGZhGhGAhAAgr0r1MrhBeUwQRpf0Bkn0YwfUcdOzsY4u/u2V+RviT4UVc6g3DzF0w5VAAAAAElFTkSuQmCC');
}
.ui-icon-audio:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAARdJREFUKJF9kq1OQ0EQhWdHYrjBNzSEVKDA8SQoAsGhmiCogYQmdTjeAosBwQM0qaISgSBo/hL+RM85iM5tlpvlHjW7M9/O5MyaFUTyrI4lOYBbkrul2oUAjADMMnATwJckAbj4F4qCWX5PsgfgXpJIDopQDpI8INmPuAPgGcCPpK4BmKihGgQwjS7HAfcjf25NqNFxFcALgE9JlaQKc029zSh3fzSzS3dfkrSdUnozsyczW28FQ6k2ODurdVRJawBeAXxIWia5EqPeOckxSZRakbxy9yqldJJSejezfXd3M7tZFEkaFszZI3kY+W4Y9U2y86dDDRc+wAaAh1jNUdEJScMcJLkVS5/vr00kT7OHHMA1yZ285hfgMGjW9+5ILwAAAABJRU5ErkJggg==');
}
.ui-icon-calendar:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEdJREFUKJHt0EEKwDAIRFHt/e+VFHqlz2QTuzOkbrrJW43ggGg2ATfQLCHpAXrMLknZ8spVKf1TLHuf4+6f8jl1RdNuDuVTB+VLWurqfLnpAAAAAElFTkSuQmCC');
}
.ui-icon-camera:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALCAYAAABPhbxiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALhJREFUKJGVkDFOA1EMRGf+AWAbuBbiAIhqRREkiuQSFBwQiRIhdk8QpMwzzRbR3yiBV1nWeDy21JHkLcmhFpIckrz2OgH3Sab6I0lm4M5Jptba7crxDMCsE457YFNVA3AFbJLse13r3WxvJX0B71X1IenT9m619sQZw/HNS319cWNVIamOW5Lc61aDkh5sPwHfwGR7rKrHi1GX5zwv8QbgJclPr3OSubV2c+79PcDUbI/A/J8h2+MvV+chIdqU1YYAAAAASUVORK5CYII=');
}
.ui-icon-carat-d:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEFJREFUGJWNkMEOACAIQlk/nn9OF9vMJOOkwpsbAACSRtIgdPi+bF1Q9kfyZ4R8nupllFW3DtLhBpJlfJXwgsrwAu7apWc+O3nlAAAAAElFTkSuQmCC');
}
.ui-icon-carat-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEFJREFUGJWtjkEKACEMxFLZf+/48tmLBwsWFzSnQsoQWGBbtgXwrCTwjptWyWp2Rhck5IaS3crZU2qICAH9b5MAPlUMi4xP1mXlAAAAAElFTkSuQmCC');
}
.ui-icon-carat-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAD9JREFUGJWdkDEOACAIAw8/Lr68LroAOtCNXFOaAiDJJTmVDrxKphHuWSaFlDKpb4od3vq+6MNih2Vmz/YZABuZM5OBBPeJYgAAAABJRU5ErkJggg==');
}
.ui-icon-carat-u:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEBJREFUGJV9kMEKADAIQmtfbl/uLtsYoXmKfIYUIUQSJKE8B1/NoQbPIQPrkIChdhaeDq3WrDLzBc5crr/9yO9v0Dinb5SKJTsAAAAASUVORK5CYII=');
}
.ui-icon-check:after,
/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */
html .ui-btn.ui-checkbox-on.ui-checkbox-on:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGlJREFUKJGVkFEKwCAMQ9vee1AdjLE7x+xnMEXRms/S1zQRCYqkk/TovoiIAEj8FYMBZPZyW0Fmdkwvk3QAqYLOgVP76hecJAkgb0MLNaVYKUUDHSVV9W46ea1zGsHXNlTlvbehyvmJQC95zvcNDVD87AAAAABJRU5ErkJggg==');
}
.ui-icon-clock:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAP1JREFUKJGFkl1KQlEUhQ8+yZ1AolPRHEVwoVFUCA0gycFESDiH9E3RiZiBvnxr9dA+csh7c8OB87P+2GenVJSkge0ZsANOsbbAq6R+aipJ98C3Wwo4SKqbSArAm+2h7a7trqQR8B5vOpMlDbKTpMcsBqyAz0J8EuQv271ke5adyhQ5YnkHzAM7TcAuMMNrREm3Qdwk4BSYbhMxgMu4q+J87DS2+Fd9Waa8AADbaMyoTaQQG4fjupNSWkSMh2tE20+xXSRJfeAQrpN/SM/htpd0kyPUxQDMo3uV7UrSGPjIA2D77m/+Oj63beT2F6QiTg+YAhvgGGsNvJzjRf0AqXKgfyngg7AAAAAASUVORK5CYII=');
}
.ui-icon-cloud:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIhJREFUKJGV0MEJwkAQRuFxQTCxDC1HsI+0kZBucrEGxUOKkBy1AhHePx50YcGNbN7925lZsyRJW6AHJj5NQCupsrncvQZGzwRc3X2ThUCXQwkeJDU/04HbP5g8cIp37b+rFAU846RLKYpQ0nEFvEII69lfyyTpEcxsXIKiNUk74AxQuOpd0uENS+I31QOq6s4AAAAASUVORK5CYII=');
}
.ui-icon-grid:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFNJREFUKJHV0DEOwDAIQ1GT+5+rTaReCbtLKkWkA2LLXxBvA7j70MzdbwAI1gFA0rOaSRKWzCxlDcUayf4tJK85/2xEq3XWc7ajs1YrHp21g57zAoqm8vdVdCs0AAAAAElFTkSuQmCC');
}
.ui-icon-mail:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKJJREFUKJGljrENwkAQBI935oAaIIUKoBUScoqAJsgJ3IpLcAo1OIDIu0PyRujlwIKJTtqd04btg6SemUjqbR8CqG2vJbUzpBZYAXVI6mxvgAq4SBomhMH2GahsbyV1kYMncIyIsL2X9PiS7rZ3ERHAMXeJ4vktT19KaiQ1tpdAnbMPpcg4PTLjtLK3AIgC26+U0inf15RSXXYmxTmkX6S/xDf/HTl2BI6HCQAAAABJRU5ErkJggg==');
}
.ui-icon-eye:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALxJREFUKJF9kr0NwlAQgy8MwE8VKvaCFQJkLliCUCEWgI4piBSKz6Z5kZ6SgKVX3Z3PZ7+IDLYLSTvgCrRAa7uRtLNdxBRsr203/o1GUjkc2gAv2wY6SZXtpaS5pAroUu1le9MPLYBnTyupGqqRtO/rqXcRts8DScuICOAO3HryvAE4zSYPTovSi4gYGzMh9TAhtc62PSTNf5lztL1KBtXAZ2ROxlr+iwO4jOLIZBeStrYb4A28U37b4Qf4AtYVT9MZSwpWAAAAAElFTkSuQmCC');
}
.ui-icon-gear:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAARhJREFUKJFtUkFKA0EQ7O7dvWogt6AQ0SeIon5CCJKTCHrcgA/QQw6+NBeJ5AHJhqrykNmwjtOnmaluqrpqzApF8gLAHkBH8rzUE4PmOck7SY2kt4ioI6Ixs1dJNcl7SU85w1ySABDARlkB2CSMJGdmZnWaXZFURLiZjf/JihgnApnZ6ghIanomAFuSraQRyROSLYBtwtaSqqERX70skm3BrMVA+VLS1ADss5VG+aCk02znLsxMWRML7nsuItz9UtJy8PhcYHwZnD/d/aq/1Jk5iyRvRPIdwC5h35KO2RvJhzy7UuEQ5I1Z+jnuPiEpHmpdcPUnZejuPsnBGclrSVWyvI/nQ1JF8lbSY8G4P2ZMAXQAdiTPSj2/CeV/A2CIIKUAAAAASUVORK5CYII=');
}
.ui-icon-heart:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALtJREFUKJGVkTFKBGEUg/P+MyxoqwgL3sPGs1iJlQqC4Dm2EI8g3sNGO9lSELSy8ktsLIZhdvwn5QsfJHmSJNvHwBPwDXwCmyQr23vAfZKvP+/R9lqSlGQf+MhIwDPwOnF/T7KS7cux+Z9sX7QkB1qoJIetqrZLwap6K9vrJC+tteqBbLuqjiRJwENvP2AzzDy57M5FRxFOAWagH9snu/Kfz7zgbLY8cDsBXfUMJ+BuAN10QUPY9vUiqEe/q914gACE4tQAAAAASUVORK5CYII=');
}
.ui-icon-home:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAE1JREFUKJHV0MEOwCAIA9DW7MP983pymUaweluv8IAABJFUJdWonqEeD0/IwwHK8QatsYlGfIhezM9WOc8jSQAoTvMqTzY1u+Z6449gA9r24D4iZ6wwAAAAAElFTkSuQmCC');
}
.ui-icon-info:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAMlJREFUKJGdkkFKA0EUBf/0xiMYkntI8B5CwOsYzIFyEIPZiKdIIjibqu9mDJOxO0ge/FV3db8uOmIUdZGZG2AP9MO8A6/qPGpRn4GvbAQ4qasa5Hij+qAuJ7BnWF3UblKX6mPl5mNmziIzN616V2qvA9hPF8bPaIC7DuhLKXdTWV3Xdb9gRWRfqor/kRIRnzdwHyUitjeA21DnwKklJ+JSEHBQ7yMiQl1NP0DDppn5dHHqAB+vQIc/0KjSDFgDO+B7mDfg5VxvyA/7S6y1J325mgAAAABJRU5ErkJggg==');
}
.ui-icon-bullets:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEZJREFUKJHlzzEKACEMRNHB+99LhT2SP7GJkGbRws4HgQykyAjoQFUAum8ArUiymCXvfzi4ue2Fju7+AS3no45mNvLPkXeYBFiehbdJ93wAAAAASUVORK5CYII=');
}
.ui-icon-bars:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADlJREFUKJHlz8ENACAMQlHsSu5/t4kjCThD69F3/yGAZLqI5AoAQh0bzasPPg7bG8CsRJIyJJ3GIC/5Mn9OKOW86gAAAABJRU5ErkJggg==');
}
.ui-icon-navigation:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIdJREFUKJGVkbENwkAQBP+QoAZXAp2QQC+IMshxMW4E0QKg2SUheND7OU8+utVNlAXY3tje295mhQE4A3fblnToCpJ2wAg8/QG42V4350g6ApMbSDp157QAHraH2Tkd8Zr8Yyk/M3PfrEVgSku1+DdBS2wlWGXkiLhExGvRxa8EC8V8gpq5BG813u5dfqCCqgAAAABJRU5ErkJggg==');
}
.ui-icon-lock:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJJJREFUKJG1kEEKwjAURP8X17WXKXgJKeIx4kkKPZT2TNJuZsbNX4SQlLrwQTZ//swkMcsg+QCwAFjjvEnerQaAWQ0ATFYmh7CRTJJ6kh3JBGCTJJJjnr7EMJXNJJ8R9soNa7T3pUHSJQyffChJqj6u0H1vscbpl+WmQdIg6XrY4O4yM9a0c6P55u7Hr7TH/3/pCxzhpO+XTBPHAAAAAElFTkSuQmCC');
}
.ui-icon-search:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAQZJREFUKJGVkTFKQ1EQRd97YARFo4W1tmJrKSncRkrFVix0Ay7Axh2IK5A01qJExMoiiL2QyoDEIpx7bUb8/vyg3mYecznDvDsphWzvAFfACJgAT5JOJM2nWZJ0CMi2gQ9g6BDQt91ugjqAgLGkfdut6G8CdwFfToFAz7Yl7dU9223gNbbZqIMjYGx7rukbwFkM7lb7JaW0kFJ6zzlPmsCc81vUxTo4KKWsSdpqAm3vRh38MCQdRwD3tldr3lF4L7ZLfWKrkt4QOAdOgRt/60HS0tQ6kpaBi69bVm74DDzG+7YRjgHrkrq2DyR1bJc4Sf9XeEZA7cjAQO/PYMArwLWk7X+BdX0CelQ/NQrA/74AAAAASUVORK5CYII=');
}
.ui-icon-location:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALhJREFUGJVtjj1qQlEUhOddAu5A7WzF1rUkO3IRErAOKUIiVjZuyCKiForfTJobuMl70535OTOSJNsLYAdcgQuwTTJXI57Sx3eSuYBdkgAftse2J8Bn5b4EXJPE9lgVSabVcC6SbpXv1Me9SDrU1Lomp7Zfq+Eg2y8DA3/xLNsj4PhfAY62R6WUcpO0GejfVE2yPQMeTfphe/bHnuS9Mbz1/iVZNhOWA5USsAf2LffUHl3XrSSl5X4AXwrzCtYRSiwAAAAASUVORK5CYII=');
}
.ui-icon-minus:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAECAYAAAC+0w63AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAABZJREFUCJlj/P///38GMgATOZoGRiMAhxsEBBS1OCUAAAAASUVORK5CYII=');
}
.ui-icon-forbidden:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAO5JREFUKJF9kjGOwjAQRV1m6UGIs8CKY6TYbs/ADUCIyyCqbTgFQeIcaFMQivc/zQQZSPIrj7+fZzyelDJJmgE74ALcgQY4A1tJs9QlSb9A7R4BtaSyC1Ic+LM9t13YLiQtgH14esJRXp3dXEkad1S0Cv/f9jQBuzYTUA3BwCH8TQIukWwuaTwES/oO75SAe4BFmL2w7VHs3xLQ5OAQLOkr9poEnG1b0uKtrA/Y9rKNE7CNYN/RyRcYOMZ6/fIdklZDcOgqadKaZTYAh+jeKN60zDJJ0s/7zWV8bp+uH1DW7imwAU7ALYa8AtbP8kIPSmcLeXqetrQAAAAASUVORK5CYII=');
}
.ui-icon-edit:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAG5JREFUKJHFzcENgDAMQ9FvxCCMxibNKIzSUdjEHGilIlTUnvApUvJiGIztsB2j9y2qCYB16sOdZPsb1u+SwjZAqrsuLCiVucVIii7yO4/j5atpOJ2mV9t/aJtGBe7TqMBjGgGynYETyECWdI7AC+9G4uZE8DtQAAAAAElFTkSuQmCC');
}
.ui-icon-user:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAMxJREFUKJGNkb1OQkEUhGdPKHwNAjQUJvoC1hSEUjtDy3MRKxMjjbwACRWdz+BPrDAUBGbG5habzcq9Xz3fzmwOUGC7R3JJ8kRyK2laZqpIWjiDpCTdtYokNy4g+dJF3FfE77aZo1LK5g7zbBTuQ+3BiEgA7i81Dkj+VBq/JPXb/vhcEZ8uSk3rLclDJv1Kum4Vm9Z1Jr7WMgkAbF/ZnqWUJpJuAIwjotcsOAN4B7CLiDfbq4g4QtKc5GftDP+c5kPSY7LtTvsLyjt25g9hYB/hzo2DKgAAAABJRU5ErkJggg==');
}
.ui-icon-phone:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOBJREFUKJGV0a9Kw2EYxfGztxg2EBZsthWLxTD/RMHk/XgdDrF5EcLuQKZYDWuzCGJ0EzS47zkGf+HHwO319M9z4DmSJNtnSQ70n9geAJ9J3m0PqyHwBIyAJTC3fVQLARYt/FwLZ0kCfAAj28c1rki6laRSSk/SdynlvqrR9i7w1bS+2t6pgg2+SBPgwXa3CiYpwLiFJ7b7rcN7tvf/wj3gsYVntoe2+8Db2p2TbAN3aQWYA9fAci22vQXcrOAFcNXs/LLpYefAdAVf2j6VpM6Gp3UknSQ51O/m41LKVJJ+ACf9G5yzDZIFAAAAAElFTkSuQmCC');
}
.ui-icon-plus:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC9JREFUKJFjZMAC/v///x+Zz8jIyIiuhgmbRmLAENLIiB4QNLdxAPyITXA0AUAAAFaSDBbPbobZAAAAAElFTkSuQmCC');
}
.ui-icon-power:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAQJJREFUKJGNkLFKg0EQhPfOQIg+gKa3sde8RECxEAsRfBUbX8HK2iaVjSCpgk8hBAsRFS00dso3Y3M/XH7+gAPHsTs7uzsb0QFgBky7uE7Y/gQ+urhcFW3Zzu0C22uShksCSQeSniWdtwWSLmw/SRo3iQ3gzbYlHbZXsn1k28CLpEFIOi2J61UegElpeJxtjyIiUkqTao3fiPhp4oazPepFxKAkv6qCk4igsrIo/3ovpfRY1HsRMY2IyDnftbzvlkbzkLQDCHiVtNlxpSHwDiBpuzF1VYw/SBpL6pe3D8wLd1l3GQC3LigTVcU3kvpLo21n22fAPfANLIBZOXtqr/pv/AH9hwnaJYrO5AAAAABJRU5ErkJggg==');
}
.ui-icon-recycle:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALNJREFUKJGFkbENwjAUROmISKRUlIwUKhgExoJFKJIuEjtkgCgU747GRgk45iQ31n++++fNJiGgA17ABHSSrraL1OxCTgjoJR2yoKSj7Z2kUlIDPGfwdu5wtn3OJKgjLOkSX98DAzBI2v9JYdttLOI+W+WWca1C3PFzCUwhRrkGJg2ALoBNJurvSuGfHAqoM3GXJdougD7CoYjKdiXptPZQdD1E+FtZMDpLuthugTGcR2r2DVdqJ8wPtnhmAAAAAElFTkSuQmCC');
}
.ui-icon-forward:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAMRJREFUKJGVkCGOAlEQRGt+BoEEtQkGgSPBINYiyAZF9iYIEiSM4Ro4JJJL7A0QSPYAG2xVrZhPGCbAh5Ld9bq7GkjIdpHy1AG/BfmqAgDyWnMk6RvAJ4AegFalvbJdApIGWZZtAAxDCM9XSuqT/LNtkieSa9tjSR3bjfpJILmP5p2kZjI0yXMsfjwIXdwULoCk9vPjSwUAP3HS7BUAkr5iBkla2s5fgRYkFcGjpLntbgqakDxU3ujkJttB0pTkluTvPc8/vr7HryiBafgAAAAASUVORK5CYII=');
}
.ui-icon-refresh:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAPNJREFUKJGVkrFKQ0EQRReF19gHg99hoRbiB9hEEAX9BQuxspEYRPyVoCBoL35BQNL5EyGmiPDOvTbzYH1mI7kwxezeM7M7TEqZJG0BD8AY+AbmwAdwZ3sz893k0Dkwc0HAVNIpMADqBjoDFJ6hpF3ble1K0h7w1CpSJ0ld4Mu2JV2kgoC3XyBwH8njEmjwpyMwjm47Bai/4L91AuaRV6WOi7S2irkNfqaUku3tVcGXAC//M0s6tL3eJF1gGgO6WgJdx2De88OTZgGAZ0n7kjYiDoDXuENSr13x2PaktHK2J5KOSs/pALfACJhFjIC+pE7u/QH4lHvLtaQgDgAAAABJRU5ErkJggg==');
}
.ui-icon-shop:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGVJREFUKJHtj7sNgEAMQx0aNkAIUcMKiBmhuz2BAWzTnhCf5kpel8gvVoAMSTXJRHIjeZBMkuo8U+WD7RVAFxFjRAwAetsLniC5SWqyA63t/VGw7a9d3IXeuP4w3zRM5Rp+oZRwAjzDQOsZ+QOkAAAAAElFTkSuQmCC');
}
.ui-icon-comment:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFpJREFUKJHt0rENgDAMRNHYQ7AWYojswboJM9w3DUhQEafml5aedIULsElqMZikDqwmqbn7UhIB3SIiMujOZ9APvyBwZBHQ3Mwq0DPIzOrr+PisPTVhCl1wGJ1Vv2jmb5Yr3wAAAABJRU5ErkJggg==');
}
.ui-icon-star:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALpJREFUKJGNkjEOQUEYhP9sVMIB1DqVxB24gmiovGNxCU5BxzUkyCtnPo0Xwu7Lm24zM5n5JxtRADADZiW+VyJsVxFBRFQlTc40lPSU9AAGOU0qeFcppUFKaRgRq86Jks58cMqKgI2kmo6QVNteNzdNJF07mC62J7/JfWDfYtoB/Wxt2+OS0fa4bdVFy2bzohGYv5NvwBJY2r59c7l1e5Iekg62R1/1R5KOku7A/08DpsC21BPYAtPm/QJYiw7xNKZu0gAAAABJRU5ErkJggg==');
}
.ui-icon-tag:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFRJREFUKJHd0LsNwDAIBNDDQ0XZLmTxw1WKYPOpfRUSPIGA7aOoEsAaf1MkL5J3Fw9XD9d/Qpycmm82Mz0c/74oIgrg3X6xk2LzemoD5yjAPeTwgiam2HQanKyEHAAAAABJRU5ErkJggg==');
}
.ui-icon-back:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAALNJREFUKJGVkS1Og1EURF9IamoxJCh00z1UlATDVmoaNDX13URlVRdBQtgAAklNXWs5c2pek4+Q74dRT8x5d+beUhpSV2Wo1JXqv8yDgKZZFfgBjsAbsFFnnUCLPpJM26BRknt1DqyB7zr5lGTSW1odA7sK7f/Ea+l5V4Fz71JKKSXJ7RW4GQKoi/p87zOOkrwCUU3y2BbhIckS+KpRkuSl6+fmIT+TPHVGAQ7ANsmz+qvnBckXBVc8a76sAAAAAElFTkSuQmCC');
}
.ui-icon-video:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGZJREFUKJG10skNgDAMRFEnogXKQoiOKJelBv/hFGQFEeDA3J/lzYDJ3VfdxN03YLQ6LRTwGo2k2Z5QSUSS9AkW9AlGJEn5MvTb/N5qvZwO2HPOfasr4DxHSmmWZAaMDw+wAENd7ADHaH+PGIsOwgAAAABJRU5ErkJggg==');
}
.ui-icon-alert:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKxJREFUKJGNzsFtwkAARFFzIDfuNEAqiDCiBCiCNEETSRFJExRBCUkD3LmB9P/kso4say17Ttau3840zUjUo3oYu68myQvwC/wkWc6G6jkl6nlu2xq4d7B8r+fA79K0VXcFf01NbAGTpPdQANXtWNMCuHYT+7Dga5JFDb6nF3Wn7gdnp+HEFXDLRICbuvqHwOfwJ/VNbSv4o2t7BZ4V2A6nFvhQNw1wmZpYwZc/jDJtwt1FY0AAAAAASUVORK5CYII=');
}
.ui-icon-delete:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGBJREFUKJGdklEKwCAMQ9Oxe687efzpBlpTivkSH69EKhAh6SQdIlsel1+SvOXLZZIVv0Wzh+R/VvXVVJXynT2pKU/SJft3c1S1Kc1yIXnF1B5fM/MYDKhd8uTLLTBJig+jUY4fd8ztxwAAAABJRU5ErkJggg==');
}
/* Alt icons */
.ui-alt-icon.ui-icon-action:after,
.ui-alt-icon .ui-icon-action:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJRJREFUKJGd0TEOAVEQh/FfRHRqcQEH0InENdxA6way1yBRO4TeUUQpoaBajcfu7FrLl7xm3v97mZlHOzbotcyWyHHA8B8xxxGTWEwne9ZH2OEc7u9YRDFJM1xrHq0VE32ccMMKg2+tJpa4YBpmrCwninvMw3LW3t+RxqmIW5/JitkojhvEUjaKTbyy3VBsTeeXcJEHtp45yIo17ikAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-arrow-d:after,
.ui-alt-icon .ui-icon-arrow-d:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEVJREFUKJHt0DEOACAIA0Dw5fxcB2NCKrU8wCYMpNyCW50Ju+PBIFDmQwHD9vvzYLCPU1SYTRikgy/UwRS9sEQVbqOMKVqg6S3qLcM1GQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-arrow-d-l:after,
.ui-alt-icon .ui-icon-arrow-d-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAE5JREFUKJG1z0sKACAIBNChi+fRulltIkr8TETCbJSHCvAlM1clAPoMjXe0cCFQjYbspuNU6+4UwWhSCGrYWKQhjTLoogi2CH3Z+PSjiwdfbFm1IlgwHQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-arrow-d-r:after,
.ui-alt-icon .ui-icon-arrow-d-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGRJREFUKJGdkEEOwCAIBKf1Y/6sPo2f2QttlUDEbrIHwUkmwJem3UoDujYNj1AaPoP5tYILIMABVLOrOpfAcnpYZU/7+ecOI3jcuxoeLObtJoLflgAU/IOlY/WWqhndX9DWVafe+J5PSpqyWe4AAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-arrow-l:after,
.ui-alt-icon .ui-icon-arrow-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEpJREFUKJGdz8sJACAMRMGnNmZplmZn8SSIaIy7kFOYfOCe5vRcZCr6gisKwx2F4Am9SkKWo3/sKUAHElDVIaeTZSxv/s7EUprXHGsUM9qSFkLPAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-arrow-r:after,
.ui-alt-icon .ui-icon-arrow-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEdJREFUKJGlzksKACAMQ8GHeG9787oSpGB/BroKUwJ+JOif0S7WLlaaWHGwLaMTgFndDiyA0YB/U6tPU8jCNLphCR1YRnhoA9kRMlpA+zYzAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-arrow-u:after,
.ui-alt-icon .ui-icon-arrow-u:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEFJREFUKJFjYMANGqCYJNDAwMDwH4qJ1oysiWjN2DQR1IxPE07NxGjC0EyKJrhmRhzO/o/Gx1DHhMvDhMCoRjwAAAKGMeSFlkQGAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-arrow-u-l:after,
.ui-alt-icon .ui-icon-arrow-u-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFlJREFUKJG10UsKwDAIRdFb3FiW5tLsytpJyCD4S6GCkycHiQF4Gq049QlVMEQZtAz9svHojXaC96F2sReWWIDLgTbzseVj5ibEZ0+xBKjCd+FWKc2/jfBCL6a9U43gjtJWAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-arrow-u-r:after,
.ui-alt-icon .ui-icon-arrow-u-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFdJREFUKJGVzsENgEAIRNGvNmZp2Nl2pjdjcGZhJ+ECvGTgnwDuag4BB7ABp7i9UbCNZxn4ujYxQRZWSEKHcu0WCnFvo/y3hL7/ywiA3eyvCqqqLZBxGz2MpkzN6S8JMAAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-audio:after,
.ui-alt-icon .ui-icon-audio:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOBJREFUKJGF0b8uREEUx/GP+wJELzYKhYq38ASqjUSnWtmCSmIThUSn8Sia7RUqolJIvAAai4JcxT1Zx93Z65dM5vxmznf+nENZJymuMEZ/Tu5Up/hKfhPvqHHRBdUtENbxEHtH86AM7mEQ8Qqe8Yke3CSgDd6FPww/CH+uAGVwFS+YYCnGdxzYCcJlrG2Hf8Kkan+0oIWY6+Tr/25cwyvesIjleOotXEdiCbwPfxB+GP4sP2lUAHexH3FPU6gPTWv+aGS2OLCBx9gbzpbhF87glqbp0/516TjFFa6wkxN+AB3LVacW0kjaAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-calendar:after,
.ui-alt-icon .ui-icon-calendar:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAD9JREFUKJFjYECAkwwMDMcZcIMzDAwMJ2AcRgYGhv94FOMETORoGhiNZAPkwCGJPepUAuA/klOIYTMwMFDgVACT9BYpw/9y9AAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-camera:after,
.ui-alt-icon .ui-icon-camera:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALCAYAAABPhbxiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIxJREFUKJGV0dEJwkAQBNCnBWgaC2IdEfzQJvywQMFP0UsqiBDUD08IcSHJwcCxO3Mzt8v/OaPDO6PDKeDZou4Rx9BgY6boh1pQbFGhwCrf2yFvGUQ/4I4LrrjhGP1x6FgM4tdYT3F85Wb/4cUUx8p3ag8klNgHvHA4uxyvyKJnJGyC4hiSHGvOLhPKD3Dyba+iZzUCAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-carat-d:after,
.ui-alt-icon .ui-icon-carat-d:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAD5JREFUGJVjYICABijGBVDkGxgYGP5DMTZNKPJMaJL1aJoaoGJ4TYHZhE0Mrya8ivFpwqkYmyaCipE1YVUMAB7LIevHjW1pAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-carat-l:after,
.ui-alt-icon .ui-icon-carat-l:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEtJREFUGJWtjsENwDAIA69NB2OzMloyWfoBCSWQVy35YXxIhlxq5inK18N9KrPPGaz/lOuGTQ3owAWI3cRyd4AT5EAJRSCDRrVNzXxpvxcS02zXAQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-carat-r:after,
.ui-alt-icon .ui-icon-carat-r:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAE9JREFUGJWdj8sNwCAMQx+wGJuRbsZm9EAQlfkcasmHxE9RDF3m3sqA5l6gKHNRKAEVCED2Xfa5DoAbNIAjpD9cZcw2S6P/of7wKPC9sg1eyBEYSwB/E4QAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-carat-u:after,
.ui-alt-icon .ui-icon-carat-u:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADpJREFUGJVjYMAOGqCYKNDAwMDwH4oJakJWTFATNsU4NaErbsAhhlMxTjkmNJsasWhoxOV+DHdikwcAJcQj7Zve1QkAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-check:after,
.ui-alt-icon .ui-icon-check:after,
html .ui-alt-icon.ui-btn.ui-checkbox-on:after,
html .ui-alt-icon .ui-btn.ui-checkbox-on:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFhJREFUKJGdkEEKwCAMBFf/XUgtSPHT9pKIRVvXDOwpjG4C8IhmixNA1dBy6qQmR0I6Vi+LVjKuyU9DVekGySP95SVFAGG1g64gs8FXNer82SMZt0cyCiM9Aok1Bu4pGTQAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-clock:after,
.ui-alt-icon .ui-icon-clock:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOFJREFUKJGN0lFKQkEUBuAPn8INJLmVzFUEF1pFhtACklpMhIR7yN4U3YgZ2EteH+YMTnGv9cPhzpz7//+cOXP4iT6esMZXxAqPuNCCG3yiboktqibRPgjPuMRZxAAv8W9fivvFSaPC7B1vxX4cnA/0xJ3ySSVyiSWmkZuIRtRR3l/Cq8gtSZ2r4z5NwhrzyHVjv+tox7xYfzcRVuEyOGGSMQzuooNZJG//IbyL74w0EdtwGp8Q3Qdng/OcrBwHYCp1rxsxxKvjAFz/dqykx20buU2TKKMnPe4Su4gFHsry4AAEHE/vKjK3+wAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-cloud:after,
.ui-alt-icon .ui-icon-cloud:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUKJGV0cEJwlAQRdGjEFBTRixHsA/bUOzGTWpIcGER4lIrEEHjIpmF8BOTC49ZXeYxwy85jrjh3c09lgZY4YImkTMWfeKhR4qcsEttv/4RI2UI667KGKnBM8R6ghTidoYXsoGjpXjMtZecygcKVNq/jal6x+YLZAlGQA4CXNYAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-grid:after,
.ui-alt-icon .ui-icon-grid:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAElJREFUKJHVkDkKADAIBCf+/105IH9KilgYsBA7B0SZyl2ABRydwcO6qW5b1/SwhJyQRMwrAF2355bjchQqxwsddTm+0FFXqJwL3FE3Jimu7okAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-mail:after,
.ui-alt-icon .ui-icon-mail:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIVJREFUKJGl0LENwjAYROEP6CgyA7QwAaxCk03IKClYJSPQwgwp6CKZgt9SMCkCnHSNfc96MpzQI81sH4w1tuhmQB02wbhihxUaDBPAgHNs9sFIeKD2yhH3EXTDIe7q2CbFy21oVLhEqzhri+2HVlbPyWrlbvITsvpY7a2LTH+b5S/QX+ATr8FIgQszAgAAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-eye:after,
.ui-alt-icon .ui-icon-eye:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJxJREFUKJF90UEOwWAQBeCvDkCtauVeXKHoubiEWokLsHMKktpgYZr8qvWSl0xm3kzezPCNDEsccA/WkcsMYBai1wBrFN2mOa4haFAixzjiJmrX0IIJLsnkssfNKqlfoseuYykP8QnHZHiq2Y6GFsYzyMBhulbXPZoqqZ99dsfvcTaYhu0KDz3HaVH4/469nne0yLCIAbdgHbmvPd/xdj2JpveBQAAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-gear:after,
.ui-alt-icon .ui-icon-gear:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOdJREFUKJFt0kFKA0EQBdCXMdnqQHZBIRKPIIp6CSFIViLoMgEPoIssPKkbieQAScTRxdSYnrELGn73/9W/uqrJxym+sMNJTlAkeIYrDPCEfuDHwNe4614www8qrAOnax1chWnq+B6CHoaZyobBNdq/GCROG8xR4jDwJrgVDtJGvCVlzTOOi4RfYkzdvfQ9ZSbxqKPZFQHSqDKJva6mwCTsm7jPJD4k+BVnzaav3ZxFlFfiGdvgPrRn78b/2eXWNy4k2SP7D7DKlPppP+dRl5ziXD2nZeLyEmeXuM1c2oqx+oNvcZwT/ALWmEfdK0sJWgAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-heart:after,
.ui-alt-icon .ui-icon-heart:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJxJREFUKJGd0L0JAkEQhuEHaxA01USwDxNrMRIjFQTBOi4QSxD7MDITQ0HQyMi/4FZY5NbzfGGSHd7Zb4acLja44owMdTSwxCX01ugERxMnPD9qi13B+zEMNS5oltWohpbqtGs4/CHuyZd9VIh5j1OuKohZ/HXqssmLxvRDjJR0Qy+19PCLOEieKjAvkCZl0ptFJM1+lWJ5WlUq5QWk0VtEhEUaAQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-home:after,
.ui-alt-icon .ui-icon-home:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEpJREFUKJHV0EEKACAIRNFvdPBuXhuJoDRt14A7n4pgp2ml0oCuFcYrCuMTumIPmTiCNpxBE8uytd8eoBGAEmzeUr2p3jXPGz+CAwXHMuZbKUj5AAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-info:after,
.ui-alt-icon .ui-icon-info:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKpJREFUKJGd0k0KwjAQhuGn3XgExd5DxHsIBa+j6IF6EEU34in8AV1VF41QYwLiB99mJm8ymRk+VWGDAx7Be6wxltECNzwzvqJOQW10cIJpFGv7cJV5aYpZIn7BSPhTrrycV0Ij4kRfKXBXhM4NEs0qemCsR5kI/qQSpz+4Y4nmD7Ch24irfHNEuTOG70TtewFSbjGPb611w81B5xT01kg33B3uwVss++XBC24QXsLZzHsvAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-bars:after,
.ui-alt-icon .ui-icon-bars:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUKJFjYGBgOMnAwPCfRHyCiYGB4R8D6eAvGXqoAEaCH88wkOnHP2RY9hcAZvQuiMkKlbgAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-bullets:after,
.ui-alt-icon .ui-icon-bullets:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAENJREFUKJFjYGBgOMnAwHCcAQFOMjAw/CeATzAxMDD8g2IYQGbjAn+JUEMDMBL8eIaBgeEEGp8oP/5hQHXzHyIs+wsAZdgtORFcnwkAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-navigation:after,
.ui-alt-icon .ui-icon-navigation:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHtJREFUKJGV0bENAkEMRNEHEtRwlUAnJNALogxyrphrBNECEBzJBUa3q12PNJm/PPZs5LTHCYdeYMANL8w4t4AjRnwWYMYTu1qcC6YwHH1txSn5vcxV49T8aN0WFcHub0ZwykARbFZQAlcVbDvhO77ZjX8VZJSqIKpYwQ/vRS+P+Y2KHAAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-lock:after,
.ui-alt-icon .ui-icon-lock:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHpJREFUKJG1kFEKQEAURQ/5xmaUTUiyDFaiLIpZk/jCz6PBPJoPt15N99zbew1cVQMGmGVGoEJRD2zKdPdwLWABGiAFYnkvwkq7YMRsHJtbYYNtzmKmjkIibLLN41ZNJw8+gg+FPuG3QgbkPoUNWF0gUgqF70mq/v+lHU7/IdBjMDvkAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-search:after,
.ui-alt-icon .ui-icon-search:after,
.ui-input-search:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOJJREFUKJGV0T1KQ0EUxfEfASMo5mlhra2ktQwp3IalYisWugEXYOMOxBUEG2sxRMTKIoi9kMqAaCH4LObKM495Yg4Md7iH/3zcQ6UeBpjiE484waI/dIgvlPjAJPYlRihyUD+gd+yjHf0tDAO+zIFXYe5lvAIvcfBm3ZzGbQsN3ziLg3d/N1tYwps0kJxeoy7XwTHW0W0Ad6KO68ZxPOUOazXvKLznuGRGbdX0JjjHKW5UkdxjJfecDi5UWf6sJzzE/rYJhg1pegdSvi0pktF/4JwKaQallPtcWsU1tucFZ/QNAQQ5KvttQjcAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-location:after,
.ui-alt-icon .ui-icon-location:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJFJREFUGJVtzj0OAVAQxPEfCjdApxWts3A8tQjiq1K6CbWCoCASCvvk4U0yzX9nd4e3uljjiguW6MiGJzx/fEyhdYAZGmhiHmwhzj5jmNQKdq7iFrDiX3eYRnoemy2sgk1gUCiY3Ic6DoXhAfXUYVj4P8z6aeORbT+CfWmcBUaFi3pZoFcKwCb8Ue0nsMcWuwReVRg3TqLKb+MAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-minus:after,
.ui-alt-icon .ui-icon-minus:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAECAYAAAC+0w63AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAABZJREFUCJljZGBg+M9ABmAiR9PAaAQA45QBB1B7c+AAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-forbidden:after,
.ui-alt-icon .ui-icon-forbidden:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAANVJREFUKJGF0jFOAzEQheGvhPRBUc4CKMfYgo4z5AZBEZeJUtFwigSJc0SkYGnWFJ4VzsrBI1la++3vmXljLmOJV3ziBz0+sA2tGs84I11ZZ3Q1aIgf3nCPm1gP2IU2lPBykumIeaWidehfWIiexkzHBrwP/UUYkaK8eQN+DO1Adi9FPxrwLM6/yZaX4H/wbZz15Dkl2T0NeFXsbWOzq5gxhd/je8PlONYNOOGEu1Hs/D2AvezeLHpaFZkGPE1v7uThXntypxo0xkIe7kG2vI8yN2V58AtUUV7BwNQ1IAAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-edit:after,
.ui-alt-icon .ui-icon-edit:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGNJREFUKJHFj9sJgDAMRU/FQTqamzSjdBRHcZP6k0Ifoml+vHBJIDm5BOwS9ZIEKGoB2FcvAMkCylBTHbyB0i7S/9f2E1QGd8ubIcmkp6Qp7T8oeiCAwwMBZA8UgBO4tNb+UzdAATKLPxchrgAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-user:after,
.ui-alt-icon .ui-icon-user:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKdJREFUKJGV0j0OAVEQAOCPSLiGoFW4gBMohU60DiUKUUlE5wISJafwExVRbYKCTTbrsWuSKV4y35t5mcdnlDBFhA06gZpgjPBI5B3tPHCdgg8s8sBLAJ6yUCOA4nHrycJiCva/XFhA71fHGs6BjkdUs8adB+AsC0ELtwS6opkHwioBl78KK16Pn2Dn9WtiGGGLMboox2iIg/AaQrnHoPA+/B3pPeaOJ6ycQb55a6UKAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-phone:after,
.ui-alt-icon .ui-icon-phone:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAL5JREFUKJGV0T1LgmEUBuBLGxwSDIe2NpeWVr/GwKn/4+8opK0fEfQPxMLVwc2WwBz9AB0s3ob3ER8E8/GeDhwuDpz7Qp4OrvDtjNSwxhz1c+AIT/jBAs1U+ItlhD9T4QQZVgG3UlARr2EuY4v31Is32ISrU1ynQugGmOEDl6mwiLcID1CN9re4O4bLGEZ4Iu+1ipkTPVfQj3Am7/ZZXtW/uISXA7xEL+CvY3CXB4wP8CPuoXACF9BGw/6BY/gDvyQ3KN8pK4sAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-plus:after,
.ui-alt-icon .ui-icon-plus:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAACtJREFUKJFjZMAO/qPxGdEVMOHQSBAMIY2MDJgBQVsbB8aP2MBoAmBgYAAAMeEDGUY6NTwAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-power:after,
.ui-alt-icon .ui-icon-power:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAANZJREFUKJGN0L1KQ0EQBeAv14BEH8Ckt7HXvISgWEgKCfguVj6BlXWaVDaCaBN8CkEsVbRQ0/mTa5FZWK9r8MAyOzNn5uxZypjg8o9eES94LjWq7N5t5AlL6DWLu/jCUUHhGJ/YTuRVPKLGXmFgP3r36MAwCqMFHsbBGVToZ8WED7w3BqDfTjJ4zQgH4SnhLeJKhbtItjLCBa6yfDPiLWxghges+Y0enkJxPRVPw9SN+fctx9mJrTVO8i0dnEejDsVZlp/Fgh+ocIhrTMPoxPzbW4Wn/g/fLgA1dWsM2LYAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-recycle:after,
.ui-alt-icon .ui-icon-recycle:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJ5JREFUKJGFkTEOgzAMRd/WqCB1YuRIMLUHKcdqL8IAWyXu0AMgOtHBjmRaJ/nSl6IvvyS2wdcMfIBNzwMQErUH7Y5fQFsCe+AMVEAHLAY+2cKbOqWLge8xbIC3uin8YgemGDxNH48MWGvNasNNwyoDug/MGnQZ0G1pUHBBBpHS3xADMuoI99pTDVwzFwGy3Aj/uqiA7GlCprcCo1f4BYWEM3yzNJz6AAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-forward:after,
.ui-alt-icon .ui-icon-forward:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKNJREFUKJGV0DEOAVEUheEvQqGkkmgUOolGoVWIqMROFBIl09iGTqm0CTtQKFmAqI3miTFMPKd6Off+OeddfiuJ2HlT+i+UZqFybjjAFH20UcvMVlmgiw16MZEdXEPsGWsM0UQlXwn2wdihWvCHJGvcgtkoaJDkjSdQj+lfwiG8ZzEAjELCHUufp/6qRQBSnDBH6xc0xtHrjGlMUgkTbHH5tvAAPFMjvUFC/dgAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-refresh:after,
.ui-alt-icon .ui-icon-refresh:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAANhJREFUKJGV0j1KQ1EQBeCPCDb2weA6LDSFuAAbBVGIW7AIVmkkhiBuRRQE7cUVCCGdmwgxRYSnL8Wb6PORG5IDA/Nzztw79w7/sYM7DPGFKQboY7vEuy6LLjBBnrAxztFDNhe18BOEe+xjM6yJx0qTDBr4jMSlNF6rwtsIHpaIeotOHEawlxB1F8ybUbxcHvOsjNo65KrwI/zddYXP4bdX4B9hYx40FJ+b42qJqBOct3LyzN8CPOEAW2GHeInaN46rHU8xkl65EU5S16njBu+KvZ2E343aL2btgEkRxRUxWQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-shop:after,
.ui-alt-icon .ui-icon-shop:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFZJREFUKJHtzzEOQFAQRdFDYwciomYLYo109vlZAY2CH59G6VYzL+9mMlwpMCNgPebiXMgjYUKNDi0ajB4IKE97heVJ2N6yLFFKEv8w3HT6Ty/8wifCDoSeC0K/UivtAAAAAElFTkSuQmCC');
}
.ui-alt-icon.ui-icon-comment:after,
.ui-alt-icon .ui-icon-comment:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEtJREFUKJHt0rEJgEAMBdCn+4m4keNedAgt9BqrS2oDHwLhhRSBDYFrMAdWSdQT09uka66gHw7As+CC5wsyT9CwfDf14Z49oYRk0A3MFy3ywXqBOQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-star:after,
.ui-alt-icon .ui-icon-star:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJlJREFUKJGV0TEOAUEYhuEnohJ7gK11Kok7cAXRUO2daLgEp6DjGpsgagr/Jovdtb7kSyYz7/tnMkN9xtG/s8bqXynBDVf0q4BOjTgPIYl16xzxiB7qoCXuJfBX71gU8hDnFtIp2Lf0sG2QNsFUZtAgDsrg56tO6yZi0iQWhzlm0bxKLKfr9eE7pKX9FHtcgvnKCFnDVbNgwBM6EjR8Lo9AQQAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-tag:after,
.ui-alt-icon .ui-icon-tag:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGNJREFUKJGl0kEKwCAMRNFfcqciXXk0j2ZP1m4Ugo01aQU34zyMIMBl7IJjWdCFe3EHUgT3UgKOyM2zUV+xABuQF8/JrVc1rF+wtDCMRYUhLEPoxefsoPDjY1h4iSzsRho/0A34VDqPolYk0gAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-back:after,
.ui-alt-icon .ui-icon-back:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJxJREFUKJGV0SEKAkEUh/EfwharRTCZxTsYFCxexSJmt9i9hNHkIQTxAgajFptW2bWMsKu77u4Hw8C8//fmDUOeWANipE3DtYRsOMULdxywwahKKFonDMukCD2MscY1nD8wKJK+aWMXavui8YroBuFZUv+h8xFaNYV52I9VwQgrJOGGSVmwjwUuIZhg+a9z9g/OmFaNcsMWM+Te+QZWtTGkQeVUfgAAAABJRU5ErkJggg==');
}
.ui-alt-icon.ui-icon-video:after,
.ui-alt-icon .ui-icon-video:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAKCAYAAACE2W/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFVJREFUKJG10UEKQCEIRdFL+4v4O3K51Sb8gwhEKmyQ8AYODjwR4AMaoJt0oLCYE5ppzggBNGOR3kKxexRapGl1dHSeV8VhegBV11JgPPf0ywpkf98PatxisIq39LAAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-alert:after,
.ui-alt-icon .ui-icon-alert:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJpJREFUKJGVj8ENglAQRB8HvXm3Aa2AgLEELUKboAksQpugCEvQBrhz04PLZTA/m0Vwkkl+Zucl82FcR+Dw4x5qCTyBB7D4B6wAk6u50BroErBTNqmbgALY6X2dgkrgo/IgU1aMQRlwTyamoOmWReA5KZlm7l128tAKaF0pcqvuV5eglOvPPq8HaAu8g0IZTDXgBWwAmhkTvZsegz1JeMzzc+YAAAAASUVORK5CYII=');
}
.ui-alt-icon.ui-icon-delete:after,
.ui-alt-icon .ui-icon-delete:after {
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAF1JREFUKJGdkVEKwCAMQ8PYve1Orj/KnE00rBCQxldSCrwVXaqoHwBqF4OpPzcZTP1bxCrivY1yUlrFgRPkwB/o2uV361dUB7LuOD5IT93xWWLJW86T0x4nP1hT+Q1BGFdF5W6VGQAAAABJRU5ErkJggg==');
}
/* Globals */
/* Font
-----------------------------------------------------------------------------------------------------------*/
html {
	font-size: 100%;
}
body,
input,
select,
textarea,
button,
.ui-btn {
	font-size: 1em;
	line-height: 1.3;
	font-family: sans-serif /*{global-font-family}*/;
}
legend,
.ui-input-text input,
.ui-input-search input {
	color: inherit;
	text-shadow: inherit;
}
/* Form labels (overrides font-weight bold in bars, and mini font-size) */
.ui-mobile label,
div.ui-controlgroup-label {
	font-weight: normal;
	font-size: 16px;
}
/* Separators
-----------------------------------------------------------------------------------------------------------*/
/* Field contain separator (< 28em) */
.ui-field-contain {
	border-bottom-color: #828282;
	border-bottom-color: rgba(0,0,0,.15);
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
/* Table opt-in classes: strokes between each row, and alternating row stripes */
/* Classes table-stroke and table-stripe are deprecated in 1.4. */
.table-stroke thead th,
.table-stripe thead th,
.table-stripe tbody tr:last-child {
	border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */
	border-bottom: 1px solid rgba(0,0,0,.1);
}
.table-stroke tbody th,
.table-stroke tbody td {
	border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback  */
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.table-stripe.table-stroke tbody tr:last-child th,
.table-stripe.table-stroke tbody tr:last-child td {
	border-bottom: 0;
}
.table-stripe tbody tr:nth-child(odd) td,
.table-stripe tbody tr:nth-child(odd) th {
	background-color: #eeeeee; /* non-RGBA fallback  */
	background-color: rgba(0,0,0,.04);
}
/* Buttons
-----------------------------------------------------------------------------------------------------------*/
.ui-btn,
label.ui-btn {
	font-weight: bold;
	border-width: 1px;
	border-style: solid;
}
.ui-btn:link {
	text-decoration: none !important;
}
.ui-btn-active {
	cursor: pointer;
}
/* Corner rounding
-----------------------------------------------------------------------------------------------------------*/
/* Class ui-btn-corner-all deprecated in 1.4 */
.ui-corner-all {
	-webkit-border-radius: 				.3125em /*{global-radii-blocks}*/;
	border-radius: 						.3125em /*{global-radii-blocks}*/;
}
/* Buttons */
.ui-btn-corner-all,
.ui-btn.ui-corner-all,
/* Slider track */
.ui-slider-track.ui-corner-all,
/* Flipswitch */
.ui-flipswitch.ui-corner-all,
/* Count bubble */
.ui-li-count {
	-webkit-border-radius: 				.3125em /*{global-radii-buttons}*/;
	border-radius: 						.3125em /*{global-radii-buttons}*/;
}
/* Icon-only buttons */
.ui-btn-icon-notext.ui-btn-corner-all,
.ui-btn-icon-notext.ui-corner-all {
	-webkit-border-radius: 1em;
	border-radius: 1em;
}
/* Radius clip workaround for cleaning up corner trapping */
.ui-btn-corner-all,
.ui-corner-all {
	-webkit-background-clip: padding;
	background-clip: padding-box;
}
/* Popup arrow */
.ui-popup.ui-corner-all > .ui-popup-arrow-guide {
	left: .6em /*{global-radii-blocks}*/;
	right: .6em /*{global-radii-blocks}*/;
	top: .6em /*{global-radii-blocks}*/;
	bottom: .6em /*{global-radii-blocks}*/;
}
/* Shadow
-----------------------------------------------------------------------------------------------------------*/
.ui-shadow {
	-webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ 		rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
	-moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ 		rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
	box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ 				rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
}
.ui-shadow-inset {
	-webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ 	rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
	-moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ 		rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
	box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ 	rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
}
.ui-overlay-shadow {
	-webkit-box-shadow: 0 0 12px 		rgba(0,0,0,.6);
	-moz-box-shadow: 0 0 12px 			rgba(0,0,0,.6);
	box-shadow: 0 0 12px 				rgba(0,0,0,.6);
}
/* Icons
-----------------------------------------------------------------------------------------------------------*/
.ui-btn-icon-left:after,
.ui-btn-icon-right:after,
.ui-btn-icon-top:after,
.ui-btn-icon-bottom:after,
.ui-btn-icon-notext:after {
	background-color: 					#666 /*{global-icon-color}*/;
	background-color: 					rgba(0,0,0,.3) /*{global-icon-disc}*/;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-border-radius: 1em;
	border-radius: 1em;
}
/* Alt icons */
.ui-alt-icon.ui-btn:after,
.ui-alt-icon .ui-btn:after,
html .ui-alt-icon.ui-checkbox-off:after,
html .ui-alt-icon.ui-radio-off:after,
html .ui-alt-icon .ui-checkbox-off:after,
html .ui-alt-icon .ui-radio-off:after {
	background-color: 					#666 /*{global-icon-color}*/;
	background-color: 					rgba(0,0,0,.15);
}
/* No disc */
.ui-nodisc-icon.ui-btn:after,
.ui-nodisc-icon .ui-btn:after {
	background-color: transparent;
}
/* Icon shadow */
.ui-shadow-icon.ui-btn:after,
.ui-shadow-icon .ui-btn:after {
	-webkit-box-shadow: 0 1px 0 			rgba(255,255,255,.3) /*{global-icon-shadow}*/;
	-moz-box-shadow: 0 1px 0 				rgba(255,255,255,.3) /*{global-icon-shadow}*/;
	box-shadow: 0 1px 0 					rgba(255,255,255,.3) /*{global-icon-shadow}*/;
}
/* Checkbox and radio */
.ui-btn.ui-checkbox-off:after,
.ui-btn.ui-checkbox-on:after,
.ui-btn.ui-radio-off:after,
.ui-btn.ui-radio-on:after {
	display: block;
	width: 18px;
	height: 18px;
	margin: -9px 2px 0 2px;
}
.ui-checkbox-off:after,
.ui-btn.ui-radio-off:after {
	filter: Alpha(Opacity=30);
	opacity: .3;
}
.ui-btn.ui-checkbox-off:after,
.ui-btn.ui-checkbox-on:after {
	-webkit-border-radius: .1875em;
	border-radius: .1875em;
}
.ui-radio .ui-btn.ui-radio-on:after {
	background-image: none;
	background-color: #fff;
	width: 8px;
	height: 8px;
	border-width: 5px;
	border-style: solid; 
}
.ui-alt-icon.ui-btn.ui-radio-on:after,
.ui-alt-icon .ui-btn.ui-radio-on:after {
	background-color: #000;
}
/* Loader */
.ui-icon-loading {
	background: url(images/ajax-loader.gif);
	background-size: 2.875em 2.875em;
}
/* Swatches */
/* A
-----------------------------------------------------------------------------------------------------------*/
/* Bar: Toolbars, dividers, slider track */
.ui-bar-a,
.ui-page-theme-a .ui-bar-inherit,
html .ui-bar-a .ui-bar-inherit,
html .ui-body-a .ui-bar-inherit,
html body .ui-group-theme-a .ui-bar-inherit {
	background: 			#e9e9e9 /*{a-bar-background-color}*/;
	border-color:	 		#ddd /*{a-bar-border}*/;
	color: 					#333 /*{a-bar-color}*/;
	text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ 	#eee /*{a-bar-shadow-color}*/;
	font-weight: bold;
}
.ui-bar-a {
	border-width: 1px;
	border-style: solid;
}
/* Page and overlay */
.ui-overlay-a,
.ui-page-theme-a,
.ui-page-theme-a .ui-panel-wrapper {
	background: 			#f9f9f9 /*{a-page-background-color}*/;
	border-color:	 		#bbb /*{a-page-border}*/;
	color: 					#333 /*{a-page-color}*/;
	text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ 	#f3f3f3 /*{a-page-shadow-color}*/;
}
/* Body: Read-only lists, text inputs, collapsible content */
.ui-body-a,
.ui-page-theme-a .ui-body-inherit,
html .ui-bar-a .ui-body-inherit,
html .ui-body-a .ui-body-inherit,
html body .ui-group-theme-a .ui-body-inherit,
html .ui-panel-page-container-a {
	background: 			#fff /*{a-body-background-color}*/;
	border-color:	 		#ddd /*{a-body-border}*/;
	color: 					#333 /*{a-body-color}*/;
	text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ 	#f3f3f3 /*{a-body-shadow-color}*/;
}
.ui-body-a {
	border-width: 1px;
	border-style: solid;
}
/* Links */
.ui-page-theme-a a,
html .ui-bar-a a,
html .ui-body-a a,
html body .ui-group-theme-a a {
	color: #3388cc /*{a-link-color}*/;
	font-weight: bold;
}
.ui-page-theme-a a:visited,
html .ui-bar-a a:visited,
html .ui-body-a a:visited,
html body .ui-group-theme-a a:visited {
    color: #3388cc /*{a-link-visited}*/;
}
.ui-page-theme-a a:hover,
html .ui-bar-a a:hover,
html .ui-body-a a:hover,
html body .ui-group-theme-a a:hover {
	color: #005599 /*{a-link-hover}*/;
}
.ui-page-theme-a a:active,
html .ui-bar-a a:active,
html .ui-body-a a:active,
html body .ui-group-theme-a a:active {
	color: #005599 /*{a-link-active}*/;
}
/* Button up */
.ui-page-theme-a .ui-btn,
html .ui-bar-a .ui-btn,
html .ui-body-a .ui-btn,
html body .ui-group-theme-a .ui-btn,
html head + body .ui-btn.ui-btn-a,
/* Button visited */
.ui-page-theme-a .ui-btn:visited,
html .ui-bar-a .ui-btn:visited,
html .ui-body-a .ui-btn:visited,
html body .ui-group-theme-a .ui-btn:visited,
html head + body .ui-btn.ui-btn-a:visited {
	background: 			#f6f6f6 /*{a-bup-background-color}*/;
	border-color:	 		#ddd /*{a-bup-border}*/;
	color: 					#333 /*{a-bup-color}*/;
	text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/;
}
/* Button hover */
.ui-page-theme-a .ui-btn:hover,
html .ui-bar-a .ui-btn:hover,
html .ui-body-a .ui-btn:hover,
html body .ui-group-theme-a .ui-btn:hover,
html head + body .ui-btn.ui-btn-a:hover {
	background: 			#ededed /*{a-bhover-background-color}*/;
	border-color:	 		#ddd /*{a-bhover-border}*/;
	color: 					#333 /*{a-bhover-color}*/;
	text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/;
}
/* Button down */
.ui-page-theme-a .ui-btn:active,
html .ui-bar-a .ui-btn:active,
html .ui-body-a .ui-btn:active,
html body .ui-group-theme-a .ui-btn:active,
html head + body .ui-btn.ui-btn-a:active {
	background: 			#e8e8e8 /*{a-bdown-background-color}*/;
	border-color:	 		#ddd /*{a-bdown-border}*/;
	color: 					#333 /*{a-bdown-color}*/;
	text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/;
}
/* Active button */
.ui-page-theme-a .ui-btn.ui-btn-active,
html .ui-bar-a .ui-btn.ui-btn-active,
html .ui-body-a .ui-btn.ui-btn-active,
html body .ui-group-theme-a .ui-btn.ui-btn-active,
html head + body .ui-btn.ui-btn-a.ui-btn-active,
/* Active checkbox icon */
.ui-page-theme-a .ui-checkbox-on:after,
html .ui-bar-a .ui-checkbox-on:after,
html .ui-body-a .ui-checkbox-on:after,
html body .ui-group-theme-a .ui-checkbox-on:after,
.ui-btn.ui-checkbox-on.ui-btn-a:after,
/* Active flipswitch background */
.ui-page-theme-a .ui-flipswitch-active,
html .ui-bar-a .ui-flipswitch-active,
html .ui-body-a .ui-flipswitch-active,
html body .ui-group-theme-a .ui-flipswitch-active,
html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,
/* Active slider track */
.ui-page-theme-a .ui-slider-track .ui-btn-active,
html .ui-bar-a .ui-slider-track .ui-btn-active,
html .ui-body-a .ui-slider-track .ui-btn-active,
html body .ui-group-theme-a .ui-slider-track .ui-btn-active,
html body div.ui-slider-track.ui-body-a .ui-btn-active {
	background-color: 		#3388cc /*{a-active-background-color}*/;
	border-color:	 		#3388cc /*{a-active-border}*/;
	color: 					#fff /*{a-active-color}*/;
	text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/;
}
/* Active radio button icon */
.ui-page-theme-a .ui-radio-on:after,
html .ui-bar-a .ui-radio-on:after,
html .ui-body-a .ui-radio-on:after,
html body .ui-group-theme-a .ui-radio-on:after,
.ui-btn.ui-radio-on.ui-btn-a:after {
	border-color:			#3388cc /*{a-active-background-color}*/;
}
/* Focus */
.ui-page-theme-a .ui-btn:focus,
html .ui-bar-a .ui-btn:focus,
html .ui-body-a .ui-btn:focus,
html body .ui-group-theme-a .ui-btn:focus,
html head + body .ui-btn.ui-btn-a:focus,
/* Focus buttons and text inputs with div wrap */
.ui-page-theme-a .ui-focus,
html .ui-bar-a .ui-focus,
html .ui-body-a .ui-focus,
html body .ui-group-theme-a .ui-focus,
html head + body .ui-btn-a.ui-focus,
html head + body .ui-body-a.ui-focus {
	-webkit-box-shadow: 0 0 12px 	#3388cc /*{a-active-background-color}*/;
	-moz-box-shadow: 0 0 12px 		#3388cc /*{a-active-background-color}*/;
	box-shadow: 0 0 12px 			#3388cc /*{a-active-background-color}*/;
}
/* B
-----------------------------------------------------------------------------------------------------------*/
/* Bar: Toolbars, dividers, slider track */
.ui-bar-b,
.ui-page-theme-b .ui-bar-inherit,
html .ui-bar-b .ui-bar-inherit,
html .ui-body-b .ui-bar-inherit,
html body .ui-group-theme-b .ui-bar-inherit {
	background: 			#1d1d1d /*{b-bar-background-color}*/;
	border-color:	 		#1b1b1b /*{b-bar-border}*/;
	color: 					#fff /*{b-bar-color}*/;
	text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ 	#111 /*{b-bar-shadow-color}*/;
	font-weight: bold;
}
.ui-bar-b {
	border-width: 1px;
	border-style: solid;
}
/* Page and overlay */
.ui-overlay-b,
.ui-page-theme-b,
.ui-page-theme-b .ui-panel-wrapper {
	background: 			#252525 /*{b-page-background-color}*/;
	border-color:	 		#454545 /*{b-page-border}*/;
	color: 					#fff /*{b-page-color}*/;
	text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ 	#111 /*{b-page-shadow-color}*/;
}
/* Body: Read-only lists, text inputs, collapsible content */
.ui-body-b,
.ui-page-theme-b .ui-body-inherit,
html .ui-bar-b .ui-body-inherit,
html .ui-body-b .ui-body-inherit,
html body .ui-group-theme-b .ui-body-inherit,
html .ui-panel-page-container-b {
	background: 			#2a2a2a /*{b-body-background-color}*/;
	border-color:	 		#1d1d1d /*{b-body-border}*/;
	color: 					#fff /*{b-body-color}*/;
	text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ 	#111 /*{b-body-shadow-color}*/;
}
.ui-body-b {
	border-width: 1px;
	border-style: solid;
}
/* Links */
.ui-page-theme-b a,
html .ui-bar-b a,
html .ui-body-b a,
html body .ui-group-theme-b a {
	color: #22aadd /*{b-link-color}*/;
	font-weight: bold;
}
.ui-page-theme-b a:visited,
html .ui-bar-b a:visited,
html .ui-body-b a:visited,
html body .ui-group-theme-b a:visited {
    color: #22aadd /*{b-link-visited}*/;
}
.ui-page-theme-b a:hover,
html .ui-bar-b a:hover,
html .ui-body-b a:hover,
html body .ui-group-theme-b a:hover {
	color: #0088bb /*{b-link-hover}*/;
}
.ui-page-theme-b a:active,
html .ui-bar-b a:active,
html .ui-body-b a:active,
html body .ui-group-theme-b a:active {
	color: #0088bb /*{b-link-active}*/;
}
/* Button up */
.ui-page-theme-b .ui-btn,
html .ui-bar-b .ui-btn,
html .ui-body-b .ui-btn,
html body .ui-group-theme-b .ui-btn,
html head + body .ui-btn.ui-btn-b,
/* Button visited */
.ui-page-theme-b .ui-btn:visited,
html .ui-bar-b .ui-btn:visited,
html .ui-body-b .ui-btn:visited,
html body .ui-group-theme-b .ui-btn:visited,
html head + body .ui-btn.ui-btn-b:visited {
	background: 			#333 /*{b-bup-background-color}*/;
	border-color:	 		#1f1f1f /*{b-bup-border}*/;
	color: 					#fff /*{b-bup-color}*/;
	text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/;
}
/* Button hover */
.ui-page-theme-b .ui-btn:hover,
html .ui-bar-b .ui-btn:hover,
html .ui-body-b .ui-btn:hover,
html body .ui-group-theme-b .ui-btn:hover,
html head + body .ui-btn.ui-btn-b:hover {
	background: 			#373737 /*{b-bhover-background-color}*/;
	border-color:	 		#1f1f1f /*{b-bhover-border}*/;
	color: 					#fff /*{b-bhover-color}*/;
	text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/;
}
/* Button down */
.ui-page-theme-b .ui-btn:active,
html .ui-bar-b .ui-btn:active,
html .ui-body-b .ui-btn:active,
html body .ui-group-theme-b .ui-btn:active,
html head + body .ui-btn.ui-btn-b:active {
	background: 			#404040 /*{b-bdown-background-color}*/;
	border-color:	 		#1f1f1f /*{b-bdown-border}*/;
	color: 					#fff /*{b-bdown-color}*/;
	text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/;
}
/* Active button */
.ui-page-theme-b .ui-btn.ui-btn-active,
html .ui-bar-b .ui-btn.ui-btn-active,
html .ui-body-b .ui-btn.ui-btn-active,
html body .ui-group-theme-b .ui-btn.ui-btn-active,
html head + body .ui-btn.ui-btn-b.ui-btn-active,
/* Active checkbox icon */
.ui-page-theme-b .ui-checkbox-on:after,
html .ui-bar-b .ui-checkbox-on:after,
html .ui-body-b .ui-checkbox-on:after,
html body .ui-group-theme-b .ui-checkbox-on:after,
.ui-btn.ui-checkbox-on.ui-btn-b:after,
/* Active flipswitch background */
.ui-page-theme-b .ui-flipswitch-active,
html .ui-bar-b .ui-flipswitch-active,
html .ui-body-b .ui-flipswitch-active,
html body .ui-group-theme-b .ui-flipswitch-active,
html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,
/* Active slider track */
.ui-page-theme-b .ui-slider-track .ui-btn-active,
html .ui-bar-b .ui-slider-track .ui-btn-active,
html .ui-body-b .ui-slider-track .ui-btn-active,
html body .ui-group-theme-b .ui-slider-track .ui-btn-active,
html body div.ui-slider-track.ui-body-b .ui-btn-active {
	background-color: 		#22aadd /*{b-active-background-color}*/;
	border-color:	 		#22aadd /*{b-active-border}*/;
	color: 					#fff /*{b-active-color}*/;
	text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/;
}
/* Active radio button icon */
.ui-page-theme-b .ui-radio-on:after,
html .ui-bar-b .ui-radio-on:after,
html .ui-body-b .ui-radio-on:after,
html body .ui-group-theme-b .ui-radio-on:after,
.ui-btn.ui-radio-on.ui-btn-b:after {
	border-color:			#22aadd /*{b-active-background-color}*/;
}
/* Focus */
.ui-page-theme-b .ui-btn:focus,
html .ui-bar-b .ui-btn:focus,
html .ui-body-b .ui-btn:focus,
html body .ui-group-theme-b .ui-btn:focus,
html head + body .ui-btn.ui-btn-b:focus,
/* Focus buttons and text inputs with div wrap */
.ui-page-theme-b .ui-focus,
html .ui-bar-b .ui-focus,
html .ui-body-b .ui-focus,
html body .ui-group-theme-b .ui-focus,
html head + body .ui-btn-b.ui-focus,
html head + body .ui-body-b.ui-focus {
	-webkit-box-shadow: 0 0 12px 	#22aadd /*{b-active-background-color}*/;
	-moz-box-shadow: 0 0 12px 		#22aadd /*{b-active-background-color}*/;
	box-shadow: 0 0 12px 			#22aadd /*{b-active-background-color}*/;
}
/* Structure */
/* Disabled
-----------------------------------------------------------------------------------------------------------*/
/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */
.ui-disabled,
.ui-state-disabled,
button[disabled],
.ui-select .ui-btn.ui-state-disabled {
	filter: Alpha(Opacity=30);
	opacity: .3;
	cursor: default !important;
	pointer-events: none;
}
/* Focus state outline
-----------------------------------------------------------------------------------------------------------*/
.ui-btn:focus,
.ui-btn.ui-focus {
	outline: 0;
}
/* Unset box-shadow in browsers that don't do it right */
.ui-noboxshadow .ui-shadow,
.ui-noboxshadow .ui-shadow-inset,
.ui-noboxshadow .ui-overlay-shadow,
.ui-noboxshadow .ui-shadow-icon.ui-btn:after,
.ui-noboxshadow .ui-shadow-icon .ui-btn:after,
.ui-noboxshadow .ui-focus,
.ui-noboxshadow .ui-btn:focus,
.ui-noboxshadow  input:focus,
.ui-noboxshadow .ui-panel {
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-shadow: none !important;
}
.ui-noboxshadow .ui-btn:focus,
.ui-noboxshadow .ui-focus {
	outline-width: 1px;
	outline-style: auto;
}
/* Some unsets */
.ui-mobile,
.ui-mobile body {
	height: 99.9%;
}
.ui-mobile fieldset,
.ui-page {
	padding: 0;
	margin: 0;
}
.ui-mobile a img,
.ui-mobile fieldset {
	border-width: 0;
}
/* Fixes for fieldset issues on IE10 and FF (see #6077) */
.ui-mobile fieldset {
	min-width: 0;
}
@-moz-document url-prefix() {
	.ui-mobile fieldset {
		display: table-column;
		vertical-align: middle;
	}
}
/* Viewport */
.ui-mobile-viewport {
	margin: 0;
	overflow-x: visible;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* Issue #2066 */
body.ui-mobile-viewport,
div.ui-mobile-viewport {
	overflow-x: hidden;
}
/* "page" containers - full-screen views, one should always be in view post-pageload */
.ui-mobile [data-role=page],
.ui-mobile [data-role=dialog],
.ui-page {
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100%;
	position: absolute;
	display: none;
	border: 0;
}
/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */
.ui-page {
	outline: none;
}
.ui-mobile .ui-page-active {
	display: block;
	overflow: visible;
	overflow-x: hidden;
}
@media screen and (orientation: portrait) {
	.ui-mobile .ui-page {
		min-height: 420px;
	}
}
@media screen and (orientation: landscape) {
	.ui-mobile .ui-page {
		min-height: 300px;
	}
}
/* Fouc */
.ui-mobile-rendering > * {
	visibility: hidden;
}
/* Non-js content hiding */
.ui-nojs {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
/* Loading screen */
.ui-loading .ui-loader {
	display: block;
}
.ui-loader {
	display: none;
	z-index: 9999999;
	position: fixed;
	top: 50%;
	left: 50%;
	border:0;
}
.ui-loader-default {
	background: none;
	filter: Alpha(Opacity=18);
	opacity: .18;
	width: 2.875em;
	height: 2.875em;
	margin-left: -1.4375em;
	margin-top: -1.4375em;
}
.ui-loader-verbose {
	width: 12.5em;
	filter: Alpha(Opacity=88);
	opacity: .88;
	box-shadow: 0 1px 1px -1px #fff;
	height: auto;
	margin-left: -6.875em;
	margin-top: -2.6875em;
	padding: .625em;
}
.ui-loader-default h1 {
	font-size: 0;
	width: 0;
	height: 0;
	overflow: hidden;
}
.ui-loader-verbose h1 {
	font-size: 1em;
	margin: 0;
	text-align: center;
}
.ui-loader .ui-icon-loading {
	background-color: #000;
	display: block;
	margin: 0;
	width: 2.75em;
	height: 2.75em;
	padding: .0625em;
	-webkit-border-radius: 2.25em;
	border-radius: 2.25em;
}
.ui-loader-verbose .ui-icon-loading {
	margin: 0 auto .625em;
	filter: Alpha(Opacity=75);
	opacity: .75;
}
.ui-loader-textonly {
	padding: .9375em;
	margin-left: -7.1875em;
}
.ui-loader-textonly .ui-icon-loading {
	display: none;
}
.ui-loader-fakefix {
	position: absolute;
}
/* Headers, content panels */
.ui-bar,
.ui-body {
	position: relative;
	padding: .4em 1em;
	overflow: hidden;
	display: block;
	clear: both;
}
.ui-bar h1,
.ui-bar h2,
.ui-bar h3,
.ui-bar h4,
.ui-bar h5,
.ui-bar h6 {
	margin: 0;
	padding: 0;
	font-size: 1em;
	display: inline-block;
}
.ui-header,
.ui-footer {
	border-width: 1px 0;
	border-style: solid;
	position: relative;
}
.ui-header:empty,
.ui-footer:empty {
	min-height: 2.6875em;
}
.ui-header .ui-title,
.ui-footer .ui-title {
	font-size: 1em;
	min-height: 1.1em;
	text-align: center;
	display: block;
	margin: 0 30%;
	padding: .7em 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	outline: 0 !important;
}
.ui-footer .ui-title {
	margin: 0 1em;
}
.ui-content {
	border-width: 0;
	overflow: visible;
	overflow-x: hidden;
	padding: 1em;
}
/* Corner styling for dialogs and popups */
.ui-corner-all > .ui-header:first-child,
.ui-corner-all > .ui-content:first-child,
.ui-corner-all > .ui-footer:first-child {
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;
	-webkit-border-top-right-radius: inherit;
	border-top-right-radius: inherit;
}
.ui-corner-all > .ui-header:last-child,
.ui-corner-all > .ui-content:last-child,
.ui-corner-all > .ui-footer:last-child {
	-webkit-border-bottom-left-radius: inherit;
	border-bottom-left-radius: inherit;
	-webkit-border-bottom-right-radius: inherit;
	border-bottom-right-radius: inherit;
}
/* Buttons and icons */
.ui-btn {
	font-size: 16px;
	margin: .5em 0;
	padding: .7em 1em;
	display: block;
	position: relative;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.ui-btn-icon-notext {
	padding: 0;
	width: 1.75em;
	height: 1.75em;
	text-indent: -9999px;
	white-space: nowrap !important;
}
.ui-mini {
	font-size: 12.5px;
}
.ui-mini .ui-btn {
	font-size: inherit;
}
/* Make buttons in toolbars default to mini and inline. */
.ui-header .ui-btn,
.ui-footer .ui-btn {
	font-size: 12.5px;
	display: inline-block;
	vertical-align: middle;
}
/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */
.ui-header .ui-btn-left,
.ui-header .ui-btn-right {
	font-size: 12.5px;
}
.ui-mini.ui-btn-icon-notext,
.ui-mini .ui-btn-icon-notext,
.ui-header .ui-btn-icon-notext,
.ui-footer .ui-btn-icon-notext {
	font-size: 16px;	
	padding: 0;
}
.ui-btn-inline {
	display: inline-block;
	vertical-align: middle;
	margin-right: .625em;
}
.ui-btn-icon-left {
	padding-left: 2.5em;
}
.ui-btn-icon-right {
	padding-right: 2.5em;
}
.ui-btn-icon-top {
	padding-top: 2.5em;
}
.ui-btn-icon-bottom {
	padding-bottom: 2.5em;
}
.ui-header .ui-btn-icon-top,
.ui-footer .ui-btn-icon-top,
.ui-header .ui-btn-icon-bottom,
.ui-footer .ui-btn-icon-bottom {
	padding-left: .3125em;
	padding-right: .3125em;
}
.ui-btn-icon-left:after,
.ui-btn-icon-right:after,
.ui-btn-icon-top:after,
.ui-btn-icon-bottom:after,
.ui-btn-icon-notext:after {
	content: "";
	position: absolute;
	display: block;
	width: 22px;
	height: 22px;
}
.ui-btn-icon-notext:after,
.ui-btn-icon-left:after,
.ui-btn-icon-right:after {
	top: 50%;
	margin-top: -11px;
}
.ui-btn-icon-left:after {
	left: .5625em;
}
.ui-btn-icon-right:after {
	right: .5625em;
}
.ui-mini.ui-btn-icon-left:after,
.ui-mini .ui-btn-icon-left:after,
.ui-header .ui-btn-icon-left:after,
.ui-footer .ui-btn-icon-left:after {
	left: .37em;
}
.ui-mini.ui-btn-icon-right:after,
.ui-mini .ui-btn-icon-right:after,
.ui-header .ui-btn-icon-right:after,
.ui-footer .ui-btn-icon-right:after {
	right: .37em;
}
.ui-btn-icon-notext:after,
.ui-btn-icon-top:after,
.ui-btn-icon-bottom:after {
	left: 50%;
	margin-left: -11px;
}
.ui-btn-icon-top:after {
	top: .5625em;
}
.ui-btn-icon-bottom:after {
	top: auto;
	bottom: .5625em;
}
/* Buttons in header position classes */
.ui-header .ui-btn-left,
.ui-header .ui-btn-right,
.ui-btn-left > [class*="ui-"],
.ui-btn-right > [class*="ui-"] {
	margin: 0;
}
.ui-btn-left,
.ui-btn-right {
	position: absolute;
	top: .24em;
}
.ui-btn-left {
	left: .4em;
}
.ui-btn-right {
	right: .4em;
}
.ui-btn-icon-notext.ui-btn-left {
	top: .3125em;
	left: .3125em;
}
.ui-btn-icon-notext.ui-btn-right {
	top: .3125em;
	right: .3125em;
}
/* Button elements */
button.ui-btn,
.ui-controlgroup-controls button.ui-btn-icon-notext {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
}
button.ui-btn-inline {
	width: auto;
}
/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */
button.ui-btn::-moz-focus-inner {
	border: 0;
}
button.ui-btn-icon-notext,
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	width: 1.75em;
}
/* Form labels */
.ui-mobile label,
.ui-controlgroup-label {
	display: block;
	margin: 0 0 .4em;
}
/* Accessible content hiding */
/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */
.ui-hide-label > label,
.ui-hide-label .ui-controlgroup-label,
.ui-hide-label .ui-rangeslider label,
.ui-hidden-accessible {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */
.ui-screen-hidden {
	display: none !important;
}
/* Transitions originally inspired by those from jQtouch, nice work, folks */
.ui-mobile-viewport-transitioning,
.ui-mobile-viewport-transitioning .ui-page {
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.ui-page-pre-in {
	opacity: 0;
}
.in {
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-duration: 350ms;
	-moz-animation-timing-function: ease-out;
	-moz-animation-duration: 350ms;
	animation-timing-function: ease-out;
	animation-duration: 350ms;
}
.out {
	-webkit-animation-timing-function: ease-in;
	-webkit-animation-duration: 225ms;
	-moz-animation-timing-function: ease-in;
	-moz-animation-duration: 225ms;
	animation-timing-function: ease-in;
	animation-duration: 225ms;
}
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to { opacity: 1; }
}
@-moz-keyframes fadein {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes fadein {
    from { opacity: 0; }
    to { opacity: 1; }
}
@-webkit-keyframes fadeout {
    from { opacity: 1; }
    to { opacity: 0; }
}
@-moz-keyframes fadeout {
    from { opacity: 1; }
    to { opacity: 0; }
}
@keyframes fadeout {
    from { opacity: 1; }
    to { opacity: 0; }
}
.fade.out {
	opacity: 0;
	-webkit-animation-duration: 125ms;
	-webkit-animation-name: fadeout;
	-moz-animation-duration: 125ms;
	-moz-animation-name: fadeout;
	animation-duration: 125ms;
	animation-name: fadeout;
}
.fade.in {
	opacity: 1;
	-webkit-animation-duration: 225ms;
	-webkit-animation-name: fadein;
	-moz-animation-duration: 225ms;
	-moz-animation-name: fadein;
	animation-duration: 225ms;
	animation-name: fadein;
}
.pop {
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.pop.in {
	-webkit-transform: scale(1);
	-webkit-animation-name: popin;
	-webkit-animation-duration: 350ms;
	-moz-transform: scale(1);
	-moz-animation-name: popin;
	-moz-animation-duration: 350ms;
	transform: scale(1);
	animation-name: popin;
	animation-duration: 350ms;
    opacity: 1;
}
.pop.out {
	-webkit-animation-name: fadeout;
	-webkit-animation-duration: 100ms;
	-moz-animation-name: fadeout;
	-moz-animation-duration: 100ms;
	animation-name: fadeout;
	animation-duration: 100ms;
	opacity: 0;
}
.pop.in.reverse {
	-webkit-animation-name: fadein;
	-moz-animation-name: fadein;
	animation-name: fadein;
}
.pop.out.reverse {
	-webkit-transform: scale(.8);
	-webkit-animation-name: popout;
	-moz-transform: scale(.8);
	-moz-animation-name: popout;
	transform: scale(.8);
	animation-name: popout;
}
@-webkit-keyframes popin {
    from {
        -webkit-transform: scale(.8);
        opacity: 0;
    }
    to {
        -webkit-transform: scale(1);
        opacity: 1;
    }
}
@-moz-keyframes popin {
    from {
        -moz-transform: scale(.8);
        opacity: 0;
    }
    to {
        -moz-transform: scale(1);
        opacity: 1;
    }
}
@keyframes popin {
    from {
        transform: scale(.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}
@-webkit-keyframes popout {
    from {
        -webkit-transform: scale(1);
        opacity: 1;
    }
    to {
        -webkit-transform: scale(.8);
        opacity: 0;
    }
}
@-moz-keyframes popout {
    from {
        -moz-transform: scale(1);
        opacity: 1;
    }
    to {
        -moz-transform: scale(.8);
        opacity: 0;
    }
}
@keyframes popout {
    from {
        transform: scale(1);
        opacity: 1;
    }
    to {
        transform: scale(.8);
        opacity: 0;
    }
}
/* keyframes for slidein from sides */
@-webkit-keyframes slideinfromright {
    from { -webkit-transform: translate3d(100%,0,0); }
    to { -webkit-transform: translate3d(0,0,0); }
}
@-moz-keyframes slideinfromright {
    from { -moz-transform: translateX(100%); }
    to { -moz-transform: translateX(0); }
}
@keyframes slideinfromright {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
@-webkit-keyframes slideinfromleft {
    from { -webkit-transform: translate3d(-100%,0,0); }
    to { -webkit-transform: translate3d(0,0,0); }
}
@-moz-keyframes slideinfromleft {
    from { -moz-transform: translateX(-100%); }
    to { -moz-transform: translateX(0); }
}
@keyframes slideinfromleft {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}
/* keyframes for slideout to sides */
@-webkit-keyframes slideouttoleft {
    from { -webkit-transform: translate3d(0,0,0); }
    to { -webkit-transform: translate3d(-100%,0,0); }
}
@-moz-keyframes slideouttoleft {
    from { -moz-transform: translateX(0); }
    to { -moz-transform: translateX(-100%); }
}
@keyframes slideouttoleft {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}
@-webkit-keyframes slideouttoright {
    from { -webkit-transform: translate3d(0,0,0); }
    to { -webkit-transform: translate3d(100%,0,0); }
}
@-moz-keyframes slideouttoright {
    from { -moz-transform: translateX(0); }
    to { -moz-transform: translateX(100%); }
}
@keyframes slideouttoright {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
}
.slide.out, .slide.in {
	-webkit-animation-timing-function: ease-out;
	-webkit-animation-duration: 350ms;
	-moz-animation-timing-function: ease-out;
	-moz-animation-duration: 350ms;
	animation-timing-function: ease-out;
	animation-duration: 350ms;
}
.slide.out {
	-webkit-transform: translate3d(-100%,0,0);
	-webkit-animation-name: slideouttoleft;
	-moz-transform: translateX(-100%);
	-moz-animation-name: slideouttoleft;
	transform: translateX(-100%);
	animation-name: slideouttoleft;
}
.slide.in {
	-webkit-transform: translate3d(0,0,0);
	-webkit-animation-name: slideinfromright;
	-moz-transform: translateX(0);
	-moz-animation-name: slideinfromright;
	transform: translateX(0);
	animation-name: slideinfromright;
}
.slide.out.reverse {
	-webkit-transform: translate3d(100%,0,0);
	-webkit-animation-name: slideouttoright;
	-moz-transform: translateX(100%);
	-moz-animation-name: slideouttoright;
	transform: translateX(100%);
	animation-name: slideouttoright;
}
.slide.in.reverse {
	-webkit-transform: translate3d(0,0,0);
	-webkit-animation-name: slideinfromleft;
	-moz-transform: translateX(0);
	-moz-animation-name: slideinfromleft;
	transform: translateX(0);
	animation-name: slideinfromleft;
}
.slidefade.out {
	-webkit-transform: translateX(-100%);
	-webkit-animation-name: slideouttoleft;
	-webkit-animation-duration: 225ms;
	-moz-transform: translateX(-100%);
	-moz-animation-name: slideouttoleft;
	-moz-animation-duration: 225ms;
	transform: translateX(-100%);
	animation-name: slideouttoleft;
	animation-duration: 225ms;
}
.slidefade.in {
	-webkit-transform: translateX(0);
	-webkit-animation-name: fadein;
	-webkit-animation-duration: 200ms;
	-moz-transform: translateX(0);
	-moz-animation-name: fadein;
	-moz-animation-duration: 200ms;
	transform: translateX(0);
	animation-name: fadein;
	animation-duration: 200ms;
}
.slidefade.out.reverse {
	-webkit-transform: translateX(100%);
	-webkit-animation-name: slideouttoright;
	-webkit-animation-duration: 200ms;
	-moz-transform: translateX(100%);
	-moz-animation-name: slideouttoright;
	-moz-animation-duration: 200ms;
	transform: translateX(100%);
	animation-name: slideouttoright;
	animation-duration: 200ms;
}
.slidefade.in.reverse {
	-webkit-transform: translateX(0);
	-webkit-animation-name: fadein;
	-webkit-animation-duration: 200ms;
	-moz-transform: translateX(0);
	-moz-animation-name: fadein;
	-moz-animation-duration: 200ms;
	transform: translateX(0);
	animation-name: fadein;
	animation-duration: 200ms;
}
/* slide down */
.slidedown.out {
	-webkit-animation-name: fadeout;
	-webkit-animation-duration: 100ms;
	-moz-animation-name: fadeout;
	-moz-animation-duration: 100ms;
	animation-name: fadeout;
	animation-duration: 100ms;
}
.slidedown.in {
	-webkit-transform: translateY(0);
	-webkit-animation-name: slideinfromtop;
	-webkit-animation-duration: 250ms;
	-moz-transform: translateY(0);
	-moz-animation-name: slideinfromtop;
	-moz-animation-duration: 250ms;
	transform: translateY(0);
	animation-name: slideinfromtop;
	animation-duration: 250ms;
}
.slidedown.in.reverse {
	-webkit-animation-name: fadein;
	-webkit-animation-duration: 150ms;
	-moz-animation-name: fadein;
	-moz-animation-duration: 150ms;
	animation-name: fadein;
	animation-duration: 150ms;
}
.slidedown.out.reverse {
	-webkit-transform: translateY(-100%);
	-webkit-animation-name: slideouttotop;
	-webkit-animation-duration: 200ms;
	-moz-transform: translateY(-100%);
	-moz-animation-name: slideouttotop;
	-moz-animation-duration: 200ms;
	transform: translateY(-100%);
	animation-name: slideouttotop;
	animation-duration: 200ms;
}
@-webkit-keyframes slideinfromtop {
    from { -webkit-transform: translateY(-100%); }
    to { -webkit-transform: translateY(0); }
}
@-moz-keyframes slideinfromtop {
    from { -moz-transform: translateY(-100%); }
    to { -moz-transform: translateY(0); }
}
@keyframes slideinfromtop {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}
@-webkit-keyframes slideouttotop {
    from { -webkit-transform: translateY(0); }
    to { -webkit-transform: translateY(-100%); }
}
@-moz-keyframes slideouttotop {
    from { -moz-transform: translateY(0); }
    to { -moz-transform: translateY(-100%); }
}
@keyframes slideouttotop {
    from { transform: translateY(0); }
    to { transform: translateY(-100%); }
}
/* slide up */
.slideup.out {
	-webkit-animation-name: fadeout;
	-webkit-animation-duration: 100ms;
	-moz-animation-name: fadeout;
	-moz-animation-duration: 100ms;
	animation-name: fadeout;
	animation-duration: 100ms;
}
.slideup.in {
	-webkit-transform: translateY(0);
	-webkit-animation-name: slideinfrombottom;
	-webkit-animation-duration: 250ms;
	-moz-transform: translateY(0);
	-moz-animation-name: slideinfrombottom;
	-moz-animation-duration: 250ms;
	transform: translateY(0);
	animation-name: slideinfrombottom;
	animation-duration: 250ms;
}
.slideup.in.reverse {
	-webkit-animation-name: fadein;
	-webkit-animation-duration: 150ms;
	-moz-animation-name: fadein;
	-moz-animation-duration: 150ms;
	animation-name: fadein;
	animation-duration: 150ms;
}
.slideup.out.reverse {
	-webkit-transform: translateY(100%);
	-webkit-animation-name: slideouttobottom;
	-webkit-animation-duration: 200ms;
	-moz-transform: translateY(100%);
	-moz-animation-name: slideouttobottom;
	-moz-animation-duration: 200ms;
	transform: translateY(100%);
	animation-name: slideouttobottom;
	animation-duration: 200ms;
}
@-webkit-keyframes slideinfrombottom {
    from { -webkit-transform: translateY(100%); }
    to { -webkit-transform: translateY(0); }
}
@-moz-keyframes slideinfrombottom {
    from { -moz-transform: translateY(100%); }
    to { -moz-transform: translateY(0); }
}
@keyframes slideinfrombottom {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}
@-webkit-keyframes slideouttobottom {
    from { -webkit-transform: translateY(0); }
    to { -webkit-transform: translateY(100%); }
}
@-moz-keyframes slideouttobottom {
    from { -moz-transform: translateY(0); }
    to { -moz-transform: translateY(100%); }
}
@keyframes slideouttobottom {
    from { transform: translateY(0); }
    to { transform: translateY(100%); }
}
/* The properties in this rule are only necessary for the 'flip' transition.
 * We need specify the perspective to create a projection matrix. This will add
 * some depth as the element flips. The depth number represents the distance of
 * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate
 * value.
 */
.viewport-flip {
	-webkit-perspective: 1000;
	-moz-perspective: 1000;
	perspective: 1000;
	position: absolute;
}
.flip {
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */
	-moz-backface-visibility: hidden;
	-moz-transform: translateX(0);
	backface-visibility: hidden;
	transform: translateX(0);
}
.flip.out {
	-webkit-transform: rotateY(-90deg) scale(.9);
	-webkit-animation-name: flipouttoleft;
	-webkit-animation-duration: 175ms;
	-moz-transform: rotateY(-90deg) scale(.9);
	-moz-animation-name: flipouttoleft;
	-moz-animation-duration: 175ms;
	transform: rotateY(-90deg) scale(.9);
	animation-name: flipouttoleft;
	animation-duration: 175ms;
}
.flip.in {
	-webkit-animation-name: flipintoright;
	-webkit-animation-duration: 225ms;
	-moz-animation-name: flipintoright;
	-moz-animation-duration: 225ms;
	animation-name: flipintoright;
	animation-duration: 225ms;
}
.flip.out.reverse {
	-webkit-transform: rotateY(90deg) scale(.9);
	-webkit-animation-name: flipouttoright;
	-moz-transform: rotateY(90deg) scale(.9);
	-moz-animation-name: flipouttoright;
	transform: rotateY(90deg) scale(.9);
	animation-name: flipouttoright;
}
.flip.in.reverse {
	-webkit-animation-name: flipintoleft;
	-moz-animation-name: flipintoleft;
	animation-name: flipintoleft;
}
@-webkit-keyframes flipouttoleft {
    from { -webkit-transform: rotateY(0); }
    to { -webkit-transform: rotateY(-90deg) scale(.9); }
}
@-moz-keyframes flipouttoleft {
    from { -moz-transform: rotateY(0); }
    to { -moz-transform: rotateY(-90deg) scale(.9); }
}
@keyframes flipouttoleft {
    from { transform: rotateY(0); }
    to { transform: rotateY(-90deg) scale(.9); }
}
@-webkit-keyframes flipouttoright {
    from { -webkit-transform: rotateY(0) ; }
    to { -webkit-transform: rotateY(90deg) scale(.9); }
}
@-moz-keyframes flipouttoright {
    from { -moz-transform: rotateY(0); }
    to { -moz-transform: rotateY(90deg) scale(.9); }
}
@keyframes flipouttoright {
    from { transform: rotateY(0); }
    to { transform: rotateY(90deg) scale(.9); }
}
@-webkit-keyframes flipintoleft {
    from { -webkit-transform: rotateY(-90deg) scale(.9); }
    to { -webkit-transform: rotateY(0); }
}
@-moz-keyframes flipintoleft {
    from { -moz-transform: rotateY(-90deg) scale(.9); }
    to { -moz-transform: rotateY(0); }
}
@keyframes flipintoleft {
    from { transform: rotateY(-90deg) scale(.9); }
    to { transform: rotateY(0); }
}
@-webkit-keyframes flipintoright {
    from { -webkit-transform: rotateY(90deg) scale(.9); }
    to { -webkit-transform: rotateY(0); }
}
@-moz-keyframes flipintoright {
    from { -moz-transform: rotateY(90deg) scale(.9); }
    to { -moz-transform: rotateY(0); }
}
@keyframes flipintoright {
    from { transform: rotateY(90deg) scale(.9); }
    to { transform: rotateY(0); }
}
/* The properties in this rule are only necessary for the 'flip' transition.
 * We need specify the perspective to create a projection matrix. This will add
 * some depth as the element flips. The depth number represents the distance of
 * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate
 * value.
 */
.viewport-turn {
	-webkit-perspective: 200px;
	-moz-perspective: 200px;
	-ms-perspective: 200px;
	perspective: 200px;
	position: absolute;
}
.turn {
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */
	-webkit-transform-origin: 0;
	
	-moz-backface-visibility: hidden;
	-moz-transform: translateX(0);
	-moz-transform-origin: 0;
	
	backface-visibility :hidden;
	transform: translateX(0);
	transform-origin: 0;
}
.turn.out {
	-webkit-transform: rotateY(-90deg) scale(.9);
	-webkit-animation-name: flipouttoleft;
	-webkit-animation-duration: 125ms;
	-moz-transform: rotateY(-90deg) scale(.9);
	-moz-animation-name: flipouttoleft;
	-moz-animation-duration: 125ms;
	transform: rotateY(-90deg) scale(.9);
	animation-name: flipouttoleft;
	animation-duration: 125ms;
}
.turn.in {
	-webkit-animation-name: flipintoright;
	-webkit-animation-duration: 250ms;
	-moz-animation-name: flipintoright;
	-moz-animation-duration: 250ms;
	animation-name: flipintoright;
	animation-duration: 250ms;
	
}
.turn.out.reverse {
	-webkit-transform: rotateY(90deg) scale(.9);
	-webkit-animation-name: flipouttoright;
	-moz-transform: rotateY(90deg) scale(.9);
	-moz-animation-name: flipouttoright;
	transform: rotateY(90deg) scale(.9);
	animation-name: flipouttoright;
}
.turn.in.reverse {
	-webkit-animation-name: flipintoleft;
	-moz-animation-name: flipintoleft;
	animation-name: flipintoleft;
}
@-webkit-keyframes flipouttoleft {
    from { -webkit-transform: rotateY(0); }
    to { -webkit-transform: rotateY(-90deg) scale(.9); }
}
@-moz-keyframes flipouttoleft {
    from { -moz-transform: rotateY(0); }
    to { -moz-transform: rotateY(-90deg) scale(.9); }
}
@keyframes flipouttoleft {
    from { transform: rotateY(0); }
    to { transform: rotateY(-90deg) scale(.9); }
}
@-webkit-keyframes flipouttoright {
    from { -webkit-transform: rotateY(0) ; }
    to { -webkit-transform: rotateY(90deg) scale(.9); }
}
@-moz-keyframes flipouttoright {
    from { -moz-transform: rotateY(0); }
    to { -moz-transform: rotateY(90deg) scale(.9); }
}
@keyframes flipouttoright {
    from { transform: rotateY(0); }
    to { transform: rotateY(90deg) scale(.9); }
}
@-webkit-keyframes flipintoleft {
    from { -webkit-transform: rotateY(-90deg) scale(.9); }
    to { -webkit-transform: rotateY(0); }
}
@-moz-keyframes flipintoleft {
    from { -moz-transform: rotateY(-90deg) scale(.9); }
    to { -moz-transform: rotateY(0); }
}
@keyframes flipintoleft {
    from { transform: rotateY(-90deg) scale(.9); }
    to { transform: rotateY(0); }
}
@-webkit-keyframes flipintoright {
    from { -webkit-transform: rotateY(90deg) scale(.9); }
    to { -webkit-transform: rotateY(0); }
}
@-moz-keyframes flipintoright {
    from { -moz-transform: rotateY(90deg) scale(.9); }
    to { -moz-transform: rotateY(0); }
}
@keyframes flipintoright {
    from { transform: rotateY(90deg) scale(.9); }
    to { transform: rotateY(0); }
}
/* flow transition */
.flow {
	-webkit-transform-origin: 50% 30%;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.4);
	-moz-transform-origin: 50% 30%;	
	-moz-box-shadow: 0 0 20px rgba(0,0,0,.4);
	transform-origin: 50% 30%;	
	box-shadow: 0 0 20px rgba(0,0,0,.4);
}
.ui-dialog.flow {
	-webkit-transform-origin: none;
	-webkit-box-shadow: none;
	-moz-transform-origin: none;	
	-moz-box-shadow: none;
	transform-origin: none;	
	box-shadow: none;
}
.flow.out {
	-webkit-transform: translateX(-100%) scale(.7);
	-webkit-animation-name: flowouttoleft;
	-webkit-animation-timing-function: ease;
	-webkit-animation-duration: 350ms;
	-moz-transform: translateX(-100%) scale(.7);
	-moz-animation-name: flowouttoleft;
	-moz-animation-timing-function: ease;
	-moz-animation-duration: 350ms;
	transform: translateX(-100%) scale(.7);
	animation-name: flowouttoleft;
	animation-timing-function: ease;
	animation-duration: 350ms;
}
.flow.in {
	-webkit-transform: translateX(0) scale(1);
	-webkit-animation-name: flowinfromright;
	-webkit-animation-timing-function: ease;
	-webkit-animation-duration: 350ms;
	-moz-transform: translateX(0) scale(1);
	-moz-animation-name: flowinfromright;
	-moz-animation-timing-function: ease;
	-moz-animation-duration: 350ms;
	transform: translateX(0) scale(1);
	animation-name: flowinfromright;
	animation-timing-function: ease;
	animation-duration: 350ms;
}
.flow.out.reverse {
	-webkit-transform: translateX(100%);
	-webkit-animation-name: flowouttoright;
	-moz-transform: translateX(100%);
	-moz-animation-name: flowouttoright;
	transform: translateX(100%);
	animation-name: flowouttoright;
}
.flow.in.reverse {
	-webkit-animation-name: flowinfromleft;
	-moz-animation-name: flowinfromleft;
	animation-name: flowinfromleft;
}
@-webkit-keyframes flowouttoleft {
    0% { -webkit-transform: translateX(0) scale(1); }
	60%, 70% { -webkit-transform: translateX(0) scale(.7); }
    100% { -webkit-transform: translateX(-100%) scale(.7); }
}
@-moz-keyframes flowouttoleft {
    0% { -moz-transform: translateX(0) scale(1); }
	60%, 70% { -moz-transform: translateX(0) scale(.7); }
    100% { -moz-transform:  translateX(-100%) scale(.7); }
}
@keyframes flowouttoleft {
    0% { transform: translateX(0) scale(1); }
	60%, 70% { transform: translateX(0) scale(.7); }
    100% { transform:  translateX(-100%) scale(.7); }
}
@-webkit-keyframes flowouttoright {
    0% { -webkit-transform: translateX(0) scale(1); }
	60%, 70% { -webkit-transform: translateX(0) scale(.7); }
    100% { -webkit-transform:  translateX(100%) scale(.7); }
}
@-moz-keyframes flowouttoright {
    0% { -moz-transform: translateX(0) scale(1); }
	60%, 70% { -moz-transform: translateX(0) scale(.7); }
    100% { -moz-transform:  translateX(100%) scale(.7); }
}
@keyframes flowouttoright {
    0% { transform: translateX(0) scale(1); }
	60%, 70% { transform: translateX(0) scale(.7); }
    100% { transform:  translateX(100%) scale(.7); }
}
@-webkit-keyframes flowinfromleft {
    0% { -webkit-transform: translateX(-100%) scale(.7); }
	30%, 40% { -webkit-transform: translateX(0) scale(.7); }
    100% { -webkit-transform: translateX(0) scale(1); }
}
@-moz-keyframes flowinfromleft {
    0% { -moz-transform: translateX(-100%) scale(.7); }
	30%, 40% { -moz-transform: translateX(0) scale(.7); }
    100% { -moz-transform: translateX(0) scale(1); }
}
@keyframes flowinfromleft {
    0% { transform: translateX(-100%) scale(.7); }
	30%, 40% { transform: translateX(0) scale(.7); }
    100% { transform: translateX(0) scale(1); }
}
@-webkit-keyframes flowinfromright {
    0% { -webkit-transform: translateX(100%) scale(.7); }
	30%, 40% { -webkit-transform: translateX(0) scale(.7); }
    100% { -webkit-transform: translateX(0) scale(1); }
}
@-moz-keyframes flowinfromright {
    0% { -moz-transform: translateX(100%) scale(.7); }
	30%, 40% { -moz-transform: translateX(0) scale(.7); }
    100% { -moz-transform: translateX(0) scale(1); }
}
@keyframes flowinfromright {
    0% { transform: translateX(100%) scale(.7); }
	30%, 40% { transform: translateX(0) scale(.7); }
    100% { transform: translateX(0) scale(1); }
}
.ui-field-contain,
.ui-mobile fieldset.ui-field-contain {
	display: block;
	position: relative;
	overflow: visible;
	clear: both;
	padding: .8em 0;
}
.ui-field-contain > label + [class*="ui-"],
.ui-field-contain .ui-controlgroup-controls {
	margin: 0;
}
.ui-field-contain:last-child {
	border-bottom-width: 0;
}
@media (min-width: 28em) {
	.ui-field-contain,
	.ui-mobile fieldset.ui-field-contain {
		padding: 0;
		margin: 1em 0;
		border-bottom-width: 0;
	}
	.ui-field-contain:before,
	.ui-field-contain:after {
		content: "";
		display: table;
	}
	.ui-field-contain:after {
		clear: both;
	}
	.ui-field-contain > label,
	.ui-field-contain .ui-controlgroup-label,
	.ui-field-contain > .ui-rangeslider > label {
		float: left;
		width: 20%;
		margin: .5em 2% 0 0;
	}
	.ui-popup .ui-field-contain > label,
	.ui-popup .ui-field-contain .ui-controlgroup-label,
	.ui-popup .ui-field-contain > .ui-rangeslider > label {
		float: none;
		width: auto;
		margin: 0 0 .4em;
	}
	.ui-field-contain > label + [class*="ui-"],
	.ui-field-contain .ui-controlgroup-controls {
		float: left;
		width: 78%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}
	/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */
	.ui-hide-label > label + [class*="ui-"],
	.ui-hide-label .ui-controlgroup-controls,
	.ui-popup .ui-field-contain > label + [class*="ui-"],
	.ui-popup .ui-field-contain .ui-controlgroup-controls {
		float: none;
		width: 100%;
	}
	.ui-field-contain > label + .ui-btn-inline {
		width: auto;
		margin-right: .625em;
	}
}
/* content configurations. */
.ui-grid-a,
.ui-grid-b,
.ui-grid-c,
.ui-grid-d,
.ui-grid-solo {
	overflow: hidden;
}
.ui-block-a,
.ui-block-b,
.ui-block-c,
.ui-block-d,
.ui-block-e {
	margin: 0;
	padding: 0;
	border: 0;
	float: left;
	min-height: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/* force new row */
.ui-block-a {
	clear: left;
}
ul.ui-grid-a,
ul.ui-grid-b,
ul.ui-grid-c,
ul.ui-grid-d,
ul.ui-grid-solo,
li.ui-block-a,
li.ui-block-b,
li.ui-block-c,
li.ui-block-d,
li.ui-block-e {
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	list-style: none;
}
/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */
[class*="ui-block-"] > button.ui-btn,
.ui-grid-solo > button.ui-btn {
	margin-right: 0;
	margin-left: 0;
}
[class*="ui-block-"] > .ui-btn,
[class*="ui-block-"] > .ui-select,
[class*="ui-block-"] > .ui-checkbox,
[class*="ui-block-"] > .ui-radio,
[class*="ui-block-"] > button.ui-btn-inline,
[class*="ui-block-"] > button.ui-btn-icon-notext,
.ui-grid-solo > [class*="ui-"] {
	margin-right: .3125em;
	margin-left: .3125em;
}
.ui-grid-a > .ui-block-a,
.ui-grid-a > .ui-block-b {
	/* width: 49.95%; IE7 */
	/* margin-right: -.5px; BB5 */
	width: 50%;
}
.ui-grid-b > .ui-block-a,
.ui-grid-b > .ui-block-b,
.ui-grid-b > .ui-block-c {
	/* width: 33.25%; IE7 */
	/* margin-right: -.5px; BB5 */
	width: 33.333%;
}
.ui-grid-c > .ui-block-a,
.ui-grid-c > .ui-block-b,
.ui-grid-c > .ui-block-c,
.ui-grid-c > .ui-block-d {
	/* width: 24.925%; IE7 */
	/* margin-right: -.5px; BB5 */
	width: 25%;
}
.ui-grid-d > .ui-block-a,
.ui-grid-d > .ui-block-b,
.ui-grid-d > .ui-block-c,
.ui-grid-d > .ui-block-d,
.ui-grid-d > .ui-block-e {
	/* width: 19.925%; IE7 */
	width: 20%;
}
.ui-grid-solo > .ui-block-a {
	width: 100%;
	float: none; 
}
/* preset breakpoint to switch to stacked grid styles below 35em (560px) */
@media (max-width: 35em) {
	.ui-responsive > .ui-block-a,
	.ui-responsive > .ui-block-b,
	.ui-responsive > .ui-block-c,
	.ui-responsive > .ui-block-d,
	.ui-responsive > .ui-block-e {
		width: 100%; 
		float: none; 
	}
}
/* fixed page header & footer configuration */
.ui-header-fixed,
.ui-footer-fixed {
	left: 0;
	right: 0;
	width: 100%;
	position: fixed;
	z-index: 1000;
}
.ui-header-fixed {
	top: -1px;
	padding-top: 1px;
}
.ui-header-fixed.ui-fixed-hidden {
	top: 0;
	padding-top: 0;
}
.ui-header-fixed .ui-btn-left,
.ui-header-fixed .ui-btn-right {
	margin-top: 1px;
}
.ui-header-fixed.ui-fixed-hidden .ui-btn-left,
.ui-header-fixed.ui-fixed-hidden .ui-btn-right {
	margin-top: 0;
}
.ui-footer-fixed {
	bottom: -1px;
	padding-bottom: 1px;
}
.ui-footer-fixed.ui-fixed-hidden {
	bottom: 0;
	padding-bottom: 0;
}
.ui-header-fullscreen,
.ui-footer-fullscreen {
	filter: Alpha(Opacity=90);
	opacity: .9;
}
/* updatePagePadding() will update the padding to actual height of header and footer. */
.ui-page-header-fixed {
	padding-top: 2.8125em;
}
.ui-page-footer-fixed {
	padding-bottom: 2.8125em;
}
.ui-page-header-fullscreen > .ui-content,
.ui-page-footer-fullscreen > .ui-content {
	padding: 0;
}
.ui-fixed-hidden {
	position: absolute;
}
/* Tap toggle: hide external fixed footer. See issue #6604 */
.ui-footer-fixed.ui-fixed-hidden {
  display: none;
}
.ui-page .ui-footer-fixed.ui-fixed-hidden {
  display: block
}
.ui-page-header-fullscreen .ui-fixed-hidden,
.ui-page-footer-fullscreen .ui-fixed-hidden {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-header-fixed .ui-btn,
.ui-footer-fixed .ui-btn { 
	z-index: 10;
}
/* workarounds for other widgets */
.ui-android-2x-fixed .ui-li-has-thumb {
	-webkit-transform: translate3d(0,0,0);
}
.ui-navbar {
	max-width: 100%;
}
.ui-navbar ul:before,
.ui-navbar ul:after {
	content: "";
	display: table;
}
.ui-navbar ul:after {
	clear: both;
}
.ui-navbar ul {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
	border: 0;
	max-width: 100%;
	overflow: visible;
}
.ui-navbar li .ui-btn {
	font-size: 12.5px;
	display: block;
	margin: 0;
	border-right-width: 0;
}
.ui-navbar .ui-btn:focus {
	z-index: 1;
}
/* fixes gaps caused by subpixel problem */
.ui-navbar li:last-child .ui-btn {
	margin-right: -4px;
}
.ui-navbar li:last-child .ui-btn:after {
	margin-right: 4px;
}
.ui-content .ui-navbar li:last-child .ui-btn,
.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn {
	border-right-width: 1px;
	margin-right: 0;
}
.ui-content .ui-navbar li:last-child .ui-btn:after,
.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after {
	margin-right: 0;
}
.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn {
	border-right-width: 1px;
	margin-right: -1px;
}
.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after {
	margin-right: 1px;
}
.ui-navbar .ui-grid-duo .ui-btn {
	border-top-width: 0;
}
.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,
.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn {
	border-top-width: 1px;
}
.ui-header .ui-navbar .ui-btn,
.ui-footer .ui-navbar .ui-btn {
	border-top-width: 0;
	border-bottom-width: 0;
}
.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,
.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,
.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn,
.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn {
	border-top-width: 0;
}
.ui-header .ui-title ~ .ui-navbar .ui-btn,
.ui-footer .ui-title ~ .ui-navbar .ui-btn,
.ui-header .ui-navbar .ui-grid-duo .ui-btn,
.ui-footer .ui-navbar .ui-grid-duo .ui-btn,
.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,
.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,
.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn,
.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn {
	border-top-width: 1px;
}
/* Hide the native input element */
.ui-input-btn input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	outline: 0;
	-webkit-border-radius: inherit;
	border-bottom-radius: inherit;	
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	background: #fff;
	background: rgba(255,255,255,0);
	filter: Alpha(Opacity=0);
	opacity: .1;
	font-size: 1px;
	text-indent: -9999px;
	z-index: 2;
}
/* Fixes IE/WP filter alpha opacity bugs */
.ui-input-btn.ui-state-disabled input {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-collapsible {
	margin: 0 -1em;
}
.ui-collapsible-inset,
.ui-collapsible-set {
	margin: .5em 0;
}
.ui-collapsible-heading {
	display: block;
	margin: 0;
	padding: 0;
	position: relative;
}
.ui-collapsible-heading .ui-btn {
	text-align: left;
	margin: 0;
	border-left-width: 0;
	border-right-width: 0;
}
.ui-collapsible-heading .ui-btn-icon-top,
.ui-collapsible-heading .ui-btn-icon-bottom {
	text-align: center;
}
.ui-collapsible-inset .ui-collapsible-heading .ui-btn {
	border-right-width: 1px;
	border-left-width: 1px;
}
.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn {
	border-top-width: 0;
}
.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn {
	border-top-width: 1px;
}
.ui-collapsible-heading-status {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-collapsible-content {
	display: block;
	margin: 0;	
	padding: .5em 1em;
}
.ui-collapsible-themed-content .ui-collapsible-content {
	border-left-width: 0;
	border-right-width: 0;
	border-top-width: 0;
	border-bottom-width: 1px;
	border-style: solid;
}
.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content {
	border-left-width: 1px;
	border-right-width: 1px;
}
.ui-collapsible-inset .ui-collapsible-content {
	margin: 0;
}
.ui-collapsible-content-collapsed {
	display: none;
}
.ui-collapsible-set > .ui-collapsible.ui-corner-all {
	-webkit-border-radius: 0;
	border-radius: 0;
}
.ui-collapsible-heading,
.ui-collapsible-heading > .ui-btn {
	-webkit-border-radius: inherit;	
	border-radius: inherit;	
}
.ui-collapsible-set .ui-collapsible.ui-first-child {
	-webkit-border-top-right-radius: inherit;	
	border-top-right-radius: inherit;
	-webkit-border-top-left-radius: inherit;	
	border-top-left-radius: inherit;		
}
.ui-collapsible-content,
.ui-collapsible-set .ui-collapsible.ui-last-child {
	-webkit-border-bottom-right-radius: inherit;	
	border-bottom-right-radius: inherit;
	-webkit-border-bottom-left-radius: inherit;	
	border-bottom-left-radius: inherit;		
}
.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading {
	-webkit-border-bottom-right-radius: 0;	
	border-bottom-right-radius: 0;
	-webkit-border-bottom-left-radius: 0;	
	border-bottom-left-radius: 0;		
}
.ui-collapsible-set .ui-collapsible {
	margin: -1px -1em 0;
}
.ui-collapsible-set .ui-collapsible-inset {
	margin: -1px 0 0;
}
.ui-collapsible-set .ui-collapsible.ui-first-child {
	margin-top: 0;
}
.ui-controlgroup,
fieldset.ui-controlgroup {
	padding: 0;
	margin: .5em 0;
}
.ui-field-contain .ui-controlgroup,
.ui-field-contain fieldset.ui-controlgroup {
	margin: 0;
}
.ui-mini .ui-controlgroup-label {
	font-size: 16px;
}
.ui-controlgroup.ui-mini .ui-btn-icon-notext,
.ui-controlgroup .ui-mini.ui-btn-icon-notext {
	font-size: inherit;
}
.ui-controlgroup-controls .ui-btn,
.ui-controlgroup-controls .ui-checkbox,
.ui-controlgroup-controls .ui-radio,
.ui-controlgroup-controls .ui-select {
	margin: 0;
}
.ui-controlgroup-controls .ui-btn:focus,
.ui-controlgroup-controls .ui-btn.ui-focus {
	z-index: 1;
}
.ui-controlgroup-controls li {
	list-style: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls {
	display: inline-block;
	vertical-align: middle;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls:before,
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
	content: "";
	display: table;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
	clear: both;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn,
.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn,
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select {
	float: left;
	clear: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,
.ui-controlgroup-controls .ui-btn-icon-notext {
	width: auto;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext {
	width: 1.5em;
}
 .ui-controlgroup-controls .ui-btn-icon-notext {
	height: auto;
	padding: .7em 1em;
}
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn {
	border-bottom-width: 0;
}
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child {
	border-bottom-width: 1px;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn {
	border-right-width: 0;
}
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child {
	border-right-width: 1px;
}
.ui-controlgroup-controls .ui-btn-corner-all,
.ui-controlgroup-controls .ui-btn.ui-corner-all {
	-webkit-border-radius: 0;
	border-radius: 0;
}
.ui-controlgroup-controls,
.ui-controlgroup-controls .ui-radio,
.ui-controlgroup-controls .ui-checkbox,
.ui-controlgroup-controls .ui-select,
.ui-controlgroup-controls li {
	-webkit-border-radius: inherit;
	border-radius: inherit;
}
.ui-controlgroup-vertical .ui-btn.ui-first-child {
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;
	-webkit-border-top-right-radius: inherit;
	border-top-right-radius: inherit;
}
.ui-controlgroup-vertical .ui-btn.ui-last-child {
	-webkit-border-bottom-left-radius: inherit;
	border-bottom-left-radius: inherit;
	-webkit-border-bottom-right-radius: inherit;
	border-bottom-right-radius: inherit;
}
.ui-controlgroup-horizontal .ui-btn.ui-first-child {
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;
	-webkit-border-bottom-left-radius: inherit;
	border-bottom-left-radius: inherit;
}
.ui-controlgroup-horizontal .ui-btn.ui-last-child {
	-webkit-border-top-right-radius: inherit;
	border-top-right-radius: inherit;
	-webkit-border-bottom-right-radius: inherit;
	border-bottom-right-radius: inherit;
}
.ui-controlgroup-controls a.ui-shadow:not(:focus),
.ui-controlgroup-controls button.ui-shadow:not(:focus),
.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}
/* Fixes legend not wrapping on IE10 */
.ui-controlgroup-label legend {
	max-width: 100%;
}
.ui-controlgroup-controls > label {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-dialog {
	 background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */
}
.ui-dialog-contain {
	width: 92.5%;
	max-width: 500px;
	margin: 10% auto 1em auto;
	padding: 0;
	position: relative;
	top: -1em;
}
.ui-dialog-contain > .ui-header, 
.ui-dialog-contain > .ui-content, 
.ui-dialog-contain > .ui-footer { 
	display: block;
	position: relative; 
	width: auto;
	margin: 0;
}
.ui-dialog-contain > .ui-header {
	overflow: hidden;
	z-index: 10; 
	padding: 0;
	border-top-width: 0;
}
.ui-dialog-contain > .ui-footer {
	z-index: 10; 
	padding: 0 1em; 
	border-bottom-width: 0;
}
.ui-popup-open .ui-header-fixed,
.ui-popup-open .ui-footer-fixed {
	position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */
}
.ui-popup-screen {
	background-image: url(data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */
	top: 0;
	left: 0;
	right: 0;
	bottom: 1px;
	position: absolute;
	filter: Alpha(Opacity=0);
	opacity: 0;
	z-index: 1099;
}
.ui-popup-screen.in {
	opacity: 0.5;
	filter: Alpha(Opacity=50);
}
.ui-popup-screen.out {
	opacity: 0;
	filter: Alpha(Opacity=0);
}
.ui-popup-container {
	z-index: 1100;
	display: inline-block;
	position: absolute;
	padding: 0;
	outline: 0;
}
.ui-popup {
	position: relative;
}
.ui-popup.ui-body-inherit {
	border-width: 1px;
	border-style: solid;
}
.ui-popup-hidden {
	left: 0;
	top: 0;
	position: absolute !important;
	visibility: hidden;
}
.ui-popup-truncate {
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-popup.ui-content,
.ui-popup .ui-content {
	overflow: visible;
}
.ui-popup > .ui-header {
	border-top-width: 0;
}
.ui-popup > .ui-footer {
	border-bottom-width: 0;
}
.ui-popup > p,
.ui-popup > h1,
.ui-popup > h2,
.ui-popup > h3,
.ui-popup > h4,
.ui-popup > h5,
.ui-popup > h6 {
	margin: .5em .4375em;
}
.ui-popup > span {
	display: block;
	margin: .5em .4375em;
}
.ui-popup-container .ui-content > p,
.ui-popup-container .ui-content > h1,
.ui-popup-container .ui-content > h2,
.ui-popup-container .ui-content > h3,
.ui-popup-container .ui-content > h4,
.ui-popup-container .ui-content > h5,
.ui-popup-container .ui-content > h6 {
	margin: .5em 0;
}
.ui-popup-container .ui-content > span {
	margin: 0;
}
.ui-popup-container .ui-content > p:first-child,
.ui-popup-container .ui-content > h1:first-child,
.ui-popup-container .ui-content > h2:first-child,
.ui-popup-container .ui-content > h3:first-child,
.ui-popup-container .ui-content > h4:first-child,
.ui-popup-container .ui-content > h5:first-child,
.ui-popup-container .ui-content > h6:first-child {
	margin-top: 0;
}
.ui-popup-container .ui-content > p:last-child,
.ui-popup-container .ui-content > h1:last-child,
.ui-popup-container .ui-content > h2:last-child,
.ui-popup-container .ui-content > h3:last-child,
.ui-popup-container .ui-content > h4:last-child,
.ui-popup-container .ui-content > h5:last-child,
.ui-popup-container .ui-content > h6:last-child {
	margin-bottom: 0;
}
.ui-popup > img {
	max-width: 100%;
	max-height: 100%;
	vertical-align: middle;
}
.ui-popup:not(.ui-content) > img:only-child,
.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child,
.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child {
	-webkit-border-radius: inherit;
	border-radius: inherit;
}
.ui-popup iframe {
	vertical-align: middle;
}
.ui-popup > .ui-btn-left,
.ui-popup > .ui-btn-right {
	position: absolute; 
	top: -11px;
	margin: 0;
	z-index: 1101;
}
.ui-popup > .ui-btn-left {
	left: -11px;
}
.ui-popup > .ui-btn-right {
	right: -11px;
}
/* Dimensions related to the popup arrow
-----------------------------------------------------------------------------------------------------------*/
/* desired triangle height: 10px */
/**
 * guide for the arrow - its width, height, and offset are theme-dependent and
 * should be expessed as left, right, top, bottom, so that the element bearing
 * such a class becomes stretched inside its parent position: relative element.
 * The left/top/right/bottom specified below should reflect the corresponding
 * border radii and so it leaves room for the shadow:
 *     ..--------------------..
 *   ."        ^ top           ".
 *  /          v                 \
 * |     +------------------+     |
 * |     |                  |     |
 * | left|                  |right|
 * |<--->|                  |<--->|
 * |     +------------------+     |
 *  \          ^                 /
 *   `.        v bottom        .'
 *     ""--------------------""
 * The idea is that the top/left of the arrow container box does not move to a
 * coordinate smaller than the top/left of the guide and the right/bottom of
 * the arrow container box does not move to a coordinate larger than the
 * bottom/right of the guide. This will help us avoid the following situation:
 *        ..--------------------..
 *      ."        ^ top           ".
 *   /|/          v                 \
 *  / |     +------------------+     |
 *  \ |     |                  |     |
 *   \| left|                  |right|
 *    |<--->|                  |<--->|
 *    |     +------------------+     |
 *     \          ^                 /
 *      `.        v bottom        .'
 *        ""--------------------""
 * The arrow should not receive a top/left coordinate such that it is too close
 * to one of the corners, because then at first the shadow of the arrow and,
 * given a coordinate even closer to the corner, even the body of the arrow will
 * "stick out" of the corner of the popup. The guide provides a hint to the
 * arrow positioning code as to which range of values is acceptable for the
 * arrow container's top/left coordinate.
 **/
.ui-popup-arrow-container {
	width: 20px;
	height: 20px;
}
/* aside from the "infinities" (-1000,2000), triangle height is used */
.ui-popup-arrow-container.ui-popup-arrow-l {
	left: -10px;
	clip: rect(-1000px,10px,2000px,-1000px);
}
.ui-popup-arrow-container.ui-popup-arrow-t {
	top: -10px;
	clip: rect(-1000px,2000px,10px,-1000px);
}
.ui-popup-arrow-container.ui-popup-arrow-r {
	right: -10px;
	clip: rect(-1000px,2000px,2000px,10px);
}
.ui-popup-arrow-container.ui-popup-arrow-b {
	bottom: -10px;
	clip: rect(10px,2000px,1000px,-1000px);
}
/**
 * For each side, the arrow is twice the desired size and its corner is aligned
 * with the edge of the container:
 *                                           
 *           /\         /\                +----+	     /\
 *          /  \       /  \ 					    | /\ |top   /  \
 *      +----+  \     /  +----+       +-->|/  \|     /    \
 *  left| /  |   \   /   |  \ |right  |   |    |    /      \
 *      |/   |    \ /    |   \| 			|  /|    |\  /        \
 *      |\   |    / \    |   /| 			| / +----+ \ \ +----+ /
 *      | \  |   /   \   |  / |       | \        /  \|    |/
 *      +----+  /     \  +----+       |  \      /    |    |
 *       ^  \  /       \  /  ^        |   \    /  +->|\  /|
 *       |   \/         \/   |        |    \  /   |  | \/ |bottom
 *       |                   |        |     \/    |  +----+
 *       +-------------------+--------+-----------+
 *                           |
 *                    arrow container
 *                     (clips arrow)
 **/
.ui-popup-arrow-container .ui-popup-arrow {
	/* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */
	width: 28.284271247px;
	height: 28.284271247px;
	border-width: 1px;
	border-style: solid;
}
.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow {
	left: -4.142135623px;
	top: 5.857864376px;
}
.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow {
	left: -4.142135623px;
	top: -14.142135623px;
}
.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow {
	left: 5.857864376px;
	top: -4.142135623px;
}
.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow {
	left: -14.142135623px;
	top: -4.142135623px;
}
/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */
.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow {
    margin-left: -5.857864376269049px;
    margin-top: -7.0710678118654755px;
}
.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow {
    margin-left: -5.857864376269049px;
    margin-top: -4.142135623730951px;
}
 
.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow {
    margin-left: -7.0710678118654755px;
    margin-top: -5.857864376269049px;
}
.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow {
    margin-left: -4.142135623730951px;
    margin-top: -5.857864376269049px;
}
.ui-popup-arrow-background {
	/* desired triangle height is used here */
	width: 20px;
	height: 20px;
}
.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow-background
.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow-background {
	background-position: 0 10px;
}
.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow-background,
.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow-background {
	background-position: 10px 0;
}
/* structure */
.ui-popup > .ui-popup-arrow-guide {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	visibility: hidden;
}
.ui-popup-arrow-container {
	position: absolute;
}
.ui-popup-arrow {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	overflow: hidden;
	box-sizing: border-box;
}
.ui-popup-arrow-container.ie .ui-popup-arrow {
	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";
	filter: progid:DXImageTransform.Microsoft.Matrix(
	      	M11=0.7071067811865474,
        	M12=-0.7071067811865477,
        	M21=0.7071067811865477,
        	M22=0.7071067811865474,
        	SizingMethod='auto expand');
}
.ui-popup-arrow-background {
	position: absolute;
	border: 0;
}
.ui-popup-arrow-container.ie .ui-popup-arrow-background {
	background: none;
}
.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow-background,
.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow-background {
	/* Undo rotation and reflect in x axis */
	-webkit-transform: rotate(-45deg) scale(1, -1);
	-moz-transform: rotate(-45deg) scale(1, -1);
	-ms-transform: rotate(-45deg) scale(1, -1);
	transform: rotate(-45deg) scale(1, -1);
}
.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow-background,
.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow-background {
   -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=-0.7071067811865467, M21=-0.7071067811865467, M22=-0.7071067811865483, SizingMethod='auto expand')";
   filter: progid:DXImageTransform.Microsoft.Matrix(
            M11=0.7071067811865483,
            M12=-0.7071067811865467,
            M21=-0.7071067811865467,
            M22=-0.7071067811865483,
            SizingMethod='auto expand');
}
.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow-background,
.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow-background {
	/* Undo rotation and reflect in y axis */
	-webkit-transform: rotate(-45deg) scale(-1, 1);
	-moz-transform: rotate(-45deg) scale(-1, 1);
	-ms-transform: rotate(-45deg) scale(-1, 1);
	transform: rotate(-45deg) scale(-1, 1);
}
.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow-background,
.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow-background {
   -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=-0.7071067811865483, M12=0.7071067811865467, M21=0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')";
   filter: progid:DXImageTransform.Microsoft.Matrix(
            M11=-0.7071067811865483,
            M12=0.7071067811865467,
            M21=0.7071067811865467,
            M22=0.7071067811865483,
            SizingMethod='auto expand');
}
.ui-checkbox,
.ui-radio {
	margin: .5em 0;
	position: relative;
}
.ui-checkbox .ui-btn,
.ui-radio .ui-btn {
	margin: 0;
	text-align: left;
	white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */
	z-index: 2;
}
.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,
.ui-controlgroup .ui-radio .ui-btn.ui-focus {
	z-index: 3;
}
.ui-checkbox .ui-btn-icon-top,
.ui-radio .ui-btn-icon-top,
.ui-checkbox .ui-btn-icon-bottom,
.ui-radio .ui-btn-icon-bottom {
	text-align: center;
}
.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,
.ui-controlgroup-horizontal .ui-radio .ui-btn:after {
	content: none;
	display: none;
}
/* Native input positioning */
.ui-checkbox input,
.ui-radio input {
	position: absolute;
	left: .466em;
	top: 50%;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 0;
	outline: 0 !important;
	z-index: 1;
}
.ui-controlgroup-horizontal .ui-checkbox input,
.ui-controlgroup-horizontal .ui-radio input {
	left: 50%;
	margin-left: -9px;
}
.ui-checkbox input:disabled,
.ui-radio input:disabled {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-select {
	margin-top: .5em;
	margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */
	position: relative;
}
.ui-select > select {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-select .ui-btn {
	margin: 0;
	opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */
}
.ui-select .ui-btn select {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 1.5em;
	min-height: 100%;
	height: 3em;
	max-height: 100%;
	outline: 0;
	-webkit-border-radius: inherit;
	border-radius: inherit;	
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	filter: Alpha(Opacity=0);
	opacity: 0;
	z-index: 2;
}
@-moz-document url-prefix() {
	.ui-select .ui-btn select {
		opacity: 0.0001;
	}
}
/* Display none because of issues with IE/WP's filter alpha opacity */
.ui-select .ui-state-disabled select {
	display: none;
}
/* Because we add all classes of the select and option elements to the span... */ 
.ui-select span.ui-state-disabled {
	filter: Alpha(Opacity=100);
	opacity: 1;
}
.ui-select .ui-btn.ui-select-nativeonly {
	border-radius: 0;
	border: 0;
}
.ui-select .ui-btn.ui-select-nativeonly select {
	opacity: 1;
	text-indent: 0;
	display: block;
}
/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */
.ui-select .ui-li-has-count.ui-btn {
	padding-right: 2.8125em;
}
.ui-select .ui-li-has-count.ui-btn-icon-right {
	padding-right: 4.6875em;
}
.ui-select .ui-btn-icon-right .ui-li-count {
	right: 3.2em;
}
/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */
.ui-select .ui-btn > span:not(.ui-li-count) {
	display: block;
	text-overflow: ellipsis;
	overflow: hidden !important;
	white-space: nowrap;
}
.ui-selectmenu.ui-popup {
	min-width: 11em;
}
.ui-selectmenu .ui-dialog-contain {
	overflow: hidden;
}
.ui-selectmenu .ui-header {
	margin: 0;
	padding: 0;
	border-width: 0;
}
.ui-selectmenu.ui-dialog .ui-header {
	z-index: 1;
	position: relative;
}
.ui-selectmenu.ui-popup .ui-header {
	-webkit-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
	-webkit-border-bottom-left-radius: 0;
	border-bottom-left-radius: 0;
}
/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button.  this shim's content in there */
.ui-selectmenu.ui-popup .ui-header h1:after {
	content: '.';
	visibility: hidden;
}
.ui-selectmenu .ui-header .ui-title {
	margin: 0 2.875em;
}
.ui-selectmenu.ui-dialog .ui-content {
	overflow: visible;
	z-index: 1;
}
.ui-selectmenu .ui-selectmenu-list {
	margin: 0;
	-webkit-border-radius: inherit;
	border-radius: inherit;	
}
.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list {
	-webkit-border-top-right-radius: 0;
	border-top-right-radius: 0;
	-webkit-border-top-left-radius: 0;
	border-top-left-radius: 0;
}
.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn {
	border-top-width: 0;
}
.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn {
	border-bottom-width: 0;
}
.ui-selectmenu .ui-btn.ui-li-divider {
	cursor: default;
}
.ui-selectmenu .ui-selectmenu-placeholder {
	display: none;
}
.ui-listview,
.ui-listview > li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ui-content .ui-listview,
.ui-panel-inner > .ui-listview {
	margin: -1em;
}
.ui-content .ui-listview-inset,
.ui-panel-inner > .ui-listview-inset {
	margin: 1em 0;
}
.ui-collapsible-content > .ui-listview {
	margin: -.5em -1em;
}
.ui-collapsible-content > .ui-listview-inset {
	margin: .5em 0;
}
.ui-listview > li {
	display: block;
	position: relative;
	overflow: visible;
}
.ui-listview > .ui-li-static,
.ui-listview > .ui-li-divider,
.ui-listview > li > a.ui-btn {
	margin: 0;
	display: block;
	position: relative;
	text-align: left;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.ui-listview > li > .ui-btn:focus {
	z-index: 1;
}
.ui-listview > .ui-li-static,
.ui-listview > .ui-li-divider,
.ui-listview > li > a.ui-btn {
	border-width: 1px 0 0 0;
	border-style: solid;
}
.ui-listview-inset > .ui-li-static,
.ui-listview-inset > .ui-li-divider,
.ui-listview-inset > li > a.ui-btn {
	border-right-width: 1px;
	border-left-width: 1px;
}
.ui-listview > .ui-li-static.ui-last-child,
.ui-listview > .ui-li-divider.ui-last-child,
.ui-listview > li.ui-last-child > a.ui-btn {
	border-bottom-width: 1px;
}
.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child,
.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn {
	border-top-width: 0;
}
.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child,
.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn {
	border-bottom-width: 0;
}
.ui-listview > li.ui-first-child,
.ui-listview > li.ui-first-child > a.ui-btn {
	-webkit-border-top-right-radius: inherit;	
	border-top-right-radius: inherit;
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;
}
.ui-listview > li.ui-last-child,
.ui-listview > li.ui-last-child > a.ui-btn {
	-webkit-border-bottom-right-radius: inherit;
	border-bottom-right-radius: inherit;
	-webkit-border-bottom-left-radius: inherit;
	border-bottom-left-radius: inherit;
}
.ui-listview > li.ui-li-has-alt > a.ui-btn {
	-webkit-border-top-right-radius: 0;
	border-top-right-radius: 0;
	-webkit-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
}
.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn {
	-webkit-border-top-left-radius: 0;	
	border-top-left-radius: 0;
	-webkit-border-top-right-radius: inherit;
	border-top-right-radius: inherit;
}
.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn {
	-webkit-border-bottom-left-radius: 0;
	border-bottom-left-radius: 0;
	-webkit-border-bottom-right-radius: inherit;
	border-bottom-right-radius: inherit;
}
.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) {
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;	
}
.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) {
	-webkit-border-bottom-left-radius: inherit;
	border-bottom-left-radius: inherit;	
}
.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) {
	-webkit-border-radius: inherit;
	border-radius: inherit;	
}
.ui-listview > .ui-li-static {
	padding: .7em 1em;
}
.ui-listview > .ui-li-divider {
	padding: .5em 1.143em;
	font-size: 14px;
	font-weight: bold;
	cursor: default;
	outline: 0; /* Dividers in custom selectmenus have tabindex */
}
.ui-listview > .ui-li-has-count > .ui-btn,
.ui-listview > .ui-li-static.ui-li-has-count,
.ui-listview > .ui-li-divider.ui-li-has-count {
	padding-right: 2.8125em;
}
.ui-listview > .ui-li-has-count > .ui-btn-icon-right {
	padding-right: 4.6875em;
}
.ui-listview > .ui-li-has-thumb > .ui-btn,
.ui-listview > .ui-li-static.ui-li-has-thumb {
	min-height: 3.625em;
	padding-left: 6.25em;
}
/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */
.ui-listview > .ui-li-has-icon > .ui-btn,
.ui-listview > .ui-li-static.ui-li-has-icon {
	min-height: 1.25em;
	padding-left: 2.5em;
}
/* Used by both listview and custom multiple select button */
.ui-li-count {
	position: absolute;
	font-size: 12.5px;
	font-weight: bold;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	padding: 0 .48em;
	line-height: 1.6em;
	min-height: 1.6em;
	min-width: .64em;
	right: .8em;
	top: 50%;
	margin-top: -.88em;
}
.ui-listview .ui-btn-icon-right .ui-li-count {
	right: 3.2em;
}
.ui-listview .ui-li-has-thumb > img:first-child,
.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child,
.ui-listview .ui-li-has-thumb .ui-li-thumb {
	position: absolute;
	left: 0;
	top: 0;
	max-height: 5em;
	max-width: 5em;
}
/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */
.ui-listview > .ui-li-has-icon > img:first-child,
.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child {
	position: absolute;
	left: .625em;
	top: .9em;
	max-height: 1em;
	max-width: 1em;
}
.ui-listview > li h1,
.ui-listview > li h2,
.ui-listview > li h3,
.ui-listview > li h4,
.ui-listview > li h5,
.ui-listview > li h6 {
	font-size: 1em;
	font-weight: bold;
	display: block;
	margin: .45em 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.ui-listview > li p {
	font-size: .75em;
	font-weight: normal;
	display: block;
	margin: .6em 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.ui-listview .ui-li-aside {
	position: absolute;
	top: 1em;
	right: 3.333em;
	margin: 0;
	text-align: right;
}
.ui-listview > li.ui-li-has-alt > .ui-btn {
	margin-right: 2.5em;
	border-right-width: 0;
}
.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn {
	position: absolute;
	width: 2.5em;
	height: 100%;
	min-height: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-left-width: 1px;
	top: 0;
	right: 0;
	margin: 0;
	padding: 0;
	z-index: 2;
}
.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn {
	border-right-width: 1px;
}
.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus {
	z-index: 3;
}
ol.ui-listview,
ol.ui-listview > .ui-li-divider {
	counter-reset: listnumbering;
}
ol.ui-listview > li > .ui-btn,
ol.ui-listview > li.ui-li-static {
	vertical-align: middle;
}
ol.ui-listview > li > .ui-btn:before,
ol.ui-listview > li.ui-li-static:before,
ol.ui-listview > li.ui-field-contain > label:before,
ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before {
	display: inline-block;
	font-size: .9em;
	font-weight: normal;
	padding-right: .3em;
	min-width: 1.4em;
	line-height: 1.5;
	vertical-align: middle;
	counter-increment: listnumbering;
	content: counter(listnumbering) ".";
}
ol.ui-listview > li.ui-field-contain:before {
	content: none;
	display: none;
}
ol.ui-listview > li h1:first-child,
ol.ui-listview > li h2:first-child,
ol.ui-listview > li h3:first-child,
ol.ui-listview > li h4:first-child,
ol.ui-listview > li h5:first-child,
ol.ui-listview > li h6:first-child,
ol.ui-listview > li p:first-child,
ol.ui-listview > li img:first-child + * {
	display: inline-block;
	vertical-align: middle;
}
ol.ui-listview > li h1:first-child ~ *,
ol.ui-listview > li h2:first-child ~ *,
ol.ui-listview > li h3:first-child ~ *,
ol.ui-listview > li h4:first-child ~ *,
ol.ui-listview > li h5:first-child ~ *,
ol.ui-listview > li h6:first-child ~ *,
ol.ui-listview > li p:first-child ~ *,
ol.ui-listview > li img:first-child + * ~ * {
	margin-top: 0;
	text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */
}
html .ui-filterable + .ui-listview,
html .ui-filterable.ui-listview {
	margin-top: .5em;
}
.ui-collapsible-content > form.ui-filterable {
	margin-top: -.5em;
}
.ui-collapsible-content > .ui-input-search.ui-filterable {
	margin-top: 0;
}
.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child,
.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn,
.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child,
.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn {
	border-top-width: 1px;
}
div.ui-slider {
	height: 30px;
	margin: .5em 0;
	padding: 0;
	-ms-touch-action: pan-y pinch-zoom double-tap-zoom;
}
div.ui-slider:before,
div.ui-slider:after {
	content: "";
	display: table;
}
div.ui-slider:after {
	clear: both;
}
input.ui-slider-input {
	display: block;
	float: left;
	font-size: 14px;
	font-weight: bold;
	margin: 0;
	padding: 4px;
	width: 40px;
	height: 20px;
	line-height: 20px;
	border-width: 1px;
	border-style: solid;
	outline: 0;
	text-align: center;
	vertical-align: text-bottom;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	-ms-box-sizing: content-box;
	box-sizing: content-box;
}
.ui-slider-input::-webkit-outer-spin-button,
.ui-slider-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.ui-slider-track {
	position: relative;
	overflow: visible;
	border-width: 1px;
	border-style: solid;
	height: 15px;
	margin: 0 15px 0 68px;
	top: 6px;
}
.ui-slider-track.ui-mini {
	height: 12px;
	top: 8px;
}
.ui-slider-track .ui-slider-bg {
	height: 100%;
}
/* High level of specificity to override button margins in grids */
.ui-slider-track .ui-btn.ui-slider-handle {
	position: absolute;
	z-index: 1;
	top: 50%;
	width: 28px;
	height: 28px;
	margin: -15px 0 0 -15px;
	outline: 0;
	padding: 0;
}
.ui-slider-track.ui-mini .ui-slider-handle {
	height: 14px;
	width: 14px;
	margin: -8px 0 0 -8px;
}
select.ui-slider-switch {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
div.ui-slider-switch {
	display: inline-block;
	height: 32px;
	width: 5.8em;
	top: 0;
}
/* reset the clearfix */
div.ui-slider-switch:before,
div.ui-slider-switch:after {
	display: none;
	clear: none;
}
div.ui-slider-switch.ui-mini {
	height: 29px;
	top: 0;
}
.ui-slider-inneroffset {
	margin: 0 16px;
	position: relative;
	z-index: 1;
}
.ui-slider-switch.ui-mini .ui-slider-inneroffset {
	margin: 0 15px 0 14px;
}
.ui-slider-switch .ui-btn.ui-slider-handle {
	margin: 1px 0 0 -15px;
}
.ui-slider-switch.ui-mini .ui-slider-handle {
	width: 25px;
	height: 25px;
	margin: 1px 0 0 -13px;
	padding: 0;
}
.ui-slider-handle-snapping {
	-webkit-transition: left 70ms linear;
	-moz-transition: left 70ms linear;
	transition: left 70ms linear;
}
.ui-slider-switch .ui-slider-label {
	position: absolute;
	text-align: center;
	width: 100%;
	overflow: hidden;
	font-size: 16px;
	top: 0;
	line-height: 2;
	min-height: 100%;
	white-space: nowrap;
	cursor: pointer;
}
.ui-slider-switch.ui-mini .ui-slider-label {
	font-size: 14px;
}
.ui-slider-switch .ui-slider-label-a {
	z-index: 1;
	left: 0;
	text-indent: -1.5em;
}
.ui-slider-switch .ui-slider-label-b {
	z-index: 0;
	right: 0;
	text-indent: 1.5em;
}
/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */
.ui-slider-track .ui-slider-bg,
.ui-slider-switch .ui-slider-label,
.ui-slider-switch .ui-slider-inneroffset,
.ui-slider-handle {
	-webkit-border-radius: inherit;
	border-radius: inherit;
}
.ui-field-contain div.ui-slider-switch {
	margin: 0;
}
@media (min-width: 28em) {
	/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */
	.ui-field-contain div.ui-slider-switch,
	.ui-field-contain.ui-hide-label div.ui-slider-switch {
		display: inline-block;
		width: 5.8em;
	}
}	
/* slider tooltip
-----------------------------------------------------------------------------------------------------------*/
.ui-slider-popup {
	width: 64px;
	height: 64px;
	font-size: 36px;
	padding-top: 14px;
	opacity: 0.8;
}
.ui-slider-popup {
	position: absolute !important;
	text-align: center;
	z-index: 100;
}
.ui-slider-track .ui-btn.ui-slider-handle {
	font-size: .9em;
	line-height: 30px;
}
.ui-rangeslider {
	margin: .5em 0;
}
.ui-rangeslider:before,
.ui-rangeslider:after {
	content: "";
	display: table;
}
.ui-rangeslider:after {
	clear: both;
}
.ui-rangeslider .ui-slider-input.ui-rangeslider-last {
	float: right;
}
.ui-rangeslider .ui-rangeslider-sliders {
	position: relative;
	overflow: visible;
	height: 30px;
	margin: 0 68px;
}
.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track {
	position: absolute;
	top: 6px;
	right: 0;
	left: 0;
	margin: 0;
}
.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track {
	top: 8px;
}
.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg {
	display: none;
}
.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child {
	background-color: transparent;
	background: none;
	border-width: 0;
	height: 0;
}
/* this makes ie6 and ie7 set height to 0 to fix z-index problem */
html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child {
	height: 15px;
	border-width: 1px;
}
html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child {
	height: 12px;
}
/* Hide the second label (the first is moved outside the div) */
div.ui-rangeslider label {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}
.ui-field-contain .ui-rangeslider input.ui-slider-input,
.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,
.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,
.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders {
	margin-top: 0;
	margin-bottom: 0;
}
.ui-input-text,
.ui-input-search {
	margin: .5em 0;
	border-width: 1px;
	border-style: solid;
}
.ui-input-text input,
.ui-input-search input,
textarea.ui-input-text {
	padding: .4em;
	line-height: 1.4em;
	display: block;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	outline: 0;
}
.ui-input-text input,
.ui-input-search input {
	margin: 0;
	min-height: 2.2em;
	text-align: left; /* Opera aligns type="date" right by default */
	border: 0;
	background: transparent none;
	-webkit-appearance: none;
	-webkit-border-radius: inherit;
	border-radius: inherit;
}
textarea.ui-input-text {
	overflow: auto;
	resize: vertical;
}
.ui-mini .ui-input-text input,
.ui-mini .ui-input-search input,
.ui-input-text.ui-mini input,
.ui-input-search.ui-mini input,
.ui-mini textarea.ui-input-text,
textarea.ui-mini {
	font-size: 14px;
}
/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */
.ui-mini textarea.ui-input-text,
textarea.ui-mini {
	margin: .446em 0;
}
.ui-input-has-clear,
.ui-input-search {
	position: relative;
}
/* Padding on the div instead of input because of browser spinners etc. */
.ui-input-has-clear {
	padding-right: 2.25em;
}
.ui-input-has-clear input {
	padding-right: 0;
	/* Autofill on Chrome has bg color so we unset corners right as well. */
	-webkit-border-top-right-radius: 0;
	border-top-right-radius: 0;
	-webkit-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
}
/* Search icon */
.ui-input-search input {
	padding-left: 1.75em;
}
.ui-input-search:after {
	position: absolute;
	left: .3125em;
	top: 50%;
	margin-top: -7px;
	content: "";
	background-position: center center;
	background-repeat: no-repeat;
	width: 14px;
	height: 14px;
	filter: Alpha(Opacity=50);
	opacity: .5;
}
.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,
.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear {
	position: absolute;
	right: 0;
	top: 50%;
	margin: -14px .3125em 0;
	border: 0;
	background-color: transparent;
}
.ui-input-search .ui-input-clear-hidden,
.ui-input-text .ui-input-clear-hidden {
	display: none;
}
/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */
.ui-input-text input::-moz-placeholder,
.ui-input-search input::-moz-placeholder,
textarea.ui-input-text::-moz-placeholder {
	color: #aaa;
}
/* Same for IE10 */
.ui-input-text input:-ms-input-placeholder,
.ui-input-search input:-ms-input-placeholder,
textarea.ui-input-text:-ms-input-placeholder {
	color: #aaa;
}
/* Resolves issue #5131: Width of textinput depends on its type,
for Android 4.1 */
.ui-input-text input[type=number]::-webkit-outer-spin-button {
	margin: 0;
}
/* Resolves issue #5756: Textinput in IE10 has a default clear button */
.ui-input-text input::-ms-clear,
.ui-input-search input::-ms-clear {
	display: none;
}
.ui-input-text input:focus,
.ui-input-search input:focus {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}
.ui-textinput-autogrow-resize {
	-webkit-transition: height 0.25s;
	-o-transition: height 0.25s;
	-moz-transition: height 0.25s;
	transition: height 0.25s;
}
.ui-flipswitch {
	display: inline-block;
	vertical-align: middle;
	width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */
	height: 1.875em;
	border-width: 1px;
	border-style: solid;
	margin: .5em 0;
	overflow: hidden;
	-webkit-transition-property: padding, width, background-color, color, border-color;
	-moz-transition-property: padding, width, background-color, color, border-color;
	-o-transition-property: padding, width, background-color, color, border-color;
	transition-property: padding, width, background-color, color, border-color;
	-webkit-transition-duration: 100ms;
	-moz-transition-duration: 100ms;
	-o-transition-duration: 100ms;
	transition-duration: 100ms;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}
.ui-flipswitch.ui-flipswitch-active {
	padding-left: 4em;  /* Override this and width in previous rule if you use labels other than "on/off" and need more space */
	width: 1.875em;
}
.ui-flipswitch-input {
	position: absolute;
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	border: 0;
	outline: 0;
	filter: Alpha(Opacity=0);
	opacity: 0;
}
.ui-flipswitch .ui-btn.ui-flipswitch-on,
.ui-flipswitch .ui-flipswitch-off {
	float: left;
	height: 1.75em;
	margin: .0625em;
	line-height: 1.65em;
}
.ui-flipswitch .ui-btn.ui-flipswitch-on {
	width: 1.75em;
	padding: 0;
	text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */
	text-align: left;
	border-width: 1px;
	border-style: solid;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: inherit;
	overflow: visible;
	color: inherit;
	text-shadow: inherit;
}
.ui-flipswitch .ui-flipswitch-off {
	padding: 1px;
	text-indent: 1em; /* Override this to center text if you use a label other than "off" */
}
@media (min-width: 28em) {
	.ui-field-contain > label + .ui-flipswitch {
		display: inline-block;
		width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */
		-webkit-box-sizing: content-box;
		-moz-box-sizing: content-box;
		-ms-box-sizing: content-box;
		box-sizing: content-box;
	}
	.ui-field-contain .ui-flipswitch.ui-flipswitch-active {
		width: 1.875em;
	}
}	
.ui-table {
	border: 0;
	border-collapse: collapse;
	padding: 0;
	width: 100%;
}
.ui-table th,
.ui-table td {
	line-height: 1.5em;
	text-align: left;
	padding: .4em .5em;
	vertical-align:top;
}
.ui-table th .ui-btn,
.ui-table td .ui-btn {
	line-height: normal;
}
.ui-table th {
	font-weight: bold;
}
.ui-table caption {
	text-align: left;
	margin-bottom: 1.4em;
	opacity: .5;
}
/*
 Styles for the table columntoggle mode
*/
.ui-table-columntoggle-btn {
	float: right;
	margin-bottom: .8em;
}
/* Remove top/bottom margins around the fieldcontain on check list */
.ui-table-columntoggle-popup fieldset {
	margin:0;
}
.ui-table-columntoggle {
	clear: both;
}
/* Hide all prioritized columns by default */
@media only all {
	th.ui-table-priority-6,
	td.ui-table-priority-6,
	th.ui-table-priority-5,
	td.ui-table-priority-5,
	th.ui-table-priority-4,
	td.ui-table-priority-4,
	th.ui-table-priority-3,
	td.ui-table-priority-3,
	th.ui-table-priority-2,
	td.ui-table-priority-2,
	th.ui-table-priority-1,
	td.ui-table-priority-1 {
		display: none;
	}
}
/* Preset breakpoints if ".ui-responsive" class added to table */
/* Show priority 1 at 320px (20em x 16px) */
@media screen and (min-width: 20em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-1 {
		display: table-cell;
	}
}
/* Show priority 2 at 480px (30em x 16px) */
@media screen and (min-width: 30em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-2 {
		display: table-cell;
	}
}
/* Show priority 3 at 640px (40em x 16px) */
@media screen and (min-width: 40em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-3 {
		display: table-cell;
	}
}
/* Show priority 4 at 800px (50em x 16px) */
@media screen and (min-width: 50em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-4 {
		display: table-cell;
	}
}
/* Show priority 5 at 960px (60em x 16px) */
@media screen and (min-width: 60em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-5 {
		display: table-cell;
	}
}
/* Show priority 6 at 1,120px (70em x 16px) */
@media screen and (min-width: 70em) {
	.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,
	.ui-table-columntoggle.ui-responsive td.ui-table-priority-6 {
		display: table-cell;
	}
}
/* Unchecked manually: Always hide */
.ui-table-columntoggle th.ui-table-cell-hidden,
.ui-table-columntoggle td.ui-table-cell-hidden,
.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,
.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden {
	display: none;
}
/* Checked manually: Always show */
.ui-table-columntoggle th.ui-table-cell-visible,
.ui-table-columntoggle td.ui-table-cell-visible,
.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,
.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible {
	display: table-cell;
}
/*
 Styles for the table columntoggle mode
*/
.ui-table-reflow td .ui-table-cell-label,
.ui-table-reflow th .ui-table-cell-label { 
	display: none;
}
/* Mobile first styles: Begin with the stacked presentation at narrow widths */ 
@media only all {
	/* Hide the table headers */ 
	.ui-table-reflow thead td, 
	.ui-table-reflow thead th {
		display: none;
	}
	/* Show the table cells as a block level element */ 
	.ui-table-reflow td,
	.ui-table-reflow th { 
		text-align: left;
		display: block;
	}
	/* Add a fair amount of top margin to visually separate each row when stacked */  
	.ui-table-reflow tbody th {
		margin-top: 3em;
	}
	/* Make the label elements a percentage width */ 
	.ui-table-reflow td .ui-table-cell-label,
	.ui-table-reflow th .ui-table-cell-label { 
		padding: .4em; 
		min-width: 30%; 
		display: inline-block;
		margin: -.4em 1em -.4em -.4em;
	}
	/* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ 
	.ui-table-reflow th .ui-table-cell-label-top,
	.ui-table-reflow td .ui-table-cell-label-top {
		display: block;
		padding: .4em 0;
		margin: .4em 0;
		text-transform: uppercase;
		font-size: .9em;
		font-weight: normal;
	}
}
/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ 
@media ( min-width: 35em ) {
	/* Fixes table rendering when switching between breakpoints in Safari <= 5. See https://github.com/jquery/jquery-mobile/issues/5380 */
	.ui-table-reflow.ui-responsive {
		display: table-row-group;
	}
	/* Show the table header rows */ 
	.ui-table-reflow.ui-responsive td,
	.ui-table-reflow.ui-responsive th,
	.ui-table-reflow.ui-responsive tbody th,
	.ui-table-reflow.ui-responsive tbody td,
	.ui-table-reflow.ui-responsive thead td,
	.ui-table-reflow.ui-responsive thead th {
		display: table-cell;
		margin: 0;
	}
	/* Hide the labels in each cell */ 
	.ui-table-reflow.ui-responsive td .ui-table-cell-label,
	.ui-table-reflow.ui-responsive th .ui-table-cell-label { 
		display: none;
	}
}
/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ 
/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ 
@media ( max-width: 35em ) {
	.ui-table-reflow.ui-responsive td,
	.ui-table-reflow.ui-responsive th {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		float: left;
		clear: left;
	}
}
/* Panel */
.ui-panel {
	width: 17em;
	min-height: 100%;
	max-height: none;
	border-width: 0;
	position: absolute;
	top: 0;
	display: block;
}
.ui-panel-closed {
	width: 0;
	max-height: 100%;
	overflow: hidden;
	visibility: hidden;
}
.ui-panel-fixed {
	position: fixed;
	bottom: -1px; /* Fixes gap on Chrome for Android */
	padding-bottom: 1px;
}
.ui-panel-display-reveal {
	z-index: 1;
}
.ui-panel-display-push {
	z-index: 999;
}
.ui-panel-display-overlay {
	z-index: 1001; /* Fixed toolbars have z-index 1000 */
}
.ui-panel-inner {
	padding: 1em;
}
/* Container, page and wrapper */
.ui-panel-page-container {
	overflow-x: visible;
}
.ui-panel-page-container-themed .ui-page-active {
	background: none;
}
.ui-panel-wrapper {
	position: relative;
	min-height: inherit;
	border: 0;
	overflow-x: hidden;
	z-index: 999;
}
/* Fixed toolbars */
.ui-panel-fixed-toolbar {
	overflow-x: hidden;
}
/* Dismiss */
.ui-panel-dismiss {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1002;
	display: none;
}
.ui-panel-dismiss-open {
	display: block;
}
/* Animate class is added to panel, wrapper and fixed toolbars */
.ui-panel-animate {
	-webkit-transition: -webkit-transform 300ms ease;
	-moz-transition: -moz-transform 300ms ease;
	transition: transform 300ms ease;
}
/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */
@media screen and ( max-device-width: 768px ) {
	.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,
	.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,
	.ui-panel-animate.ui-panel-fixed-toolbar {
		-ms-transition: none;
	}
	/* We need a transitionend event ... */
	.ui-panel-animate.ui-panel-fixed-toolbar {
		-ms-transition: -ms-transform 1ms;
		-ms-transform: rotate(0deg);
	}
}
/* Hardware acceleration for smoother transitions on WebKit browsers */
.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) {
	-webkit-backface-visibility: hidden;
	-webkit-transform: translate3d(0,0,0);
}
/* Panel positioning (for overlay and push) */
/* Panel left closed */
.ui-panel-position-left {
	left: -17em;
}
/* Panel left closed animated */
.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,
.ui-panel-animate.ui-panel-position-left.ui-panel-display-push {
	left: 0;
	-webkit-transform: translate3d(-17em,0,0);
	-moz-transform: translate3d(-17em,0,0);
	transform: translate3d(-17em,0,0);
}
/* Panel left open */
.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */
.ui-panel-open.ui-panel-position-left {
	left: 0;
}
/* Panel left open animated */
.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,
.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	-moz-transform: none;
}
/* Panel right closed */
.ui-panel-position-right {
	right: -17em;
}
/* Panel right closed animated */
.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,
.ui-panel-animate.ui-panel-position-right.ui-panel-display-push {
	right: 0;
	-webkit-transform: translate3d(17em,0,0);
	-moz-transform: translate3d(17em,0,0);
	transform: translate3d(17em,0,0);
}
/* Panel right open */
.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */
.ui-panel-position-right.ui-panel-open {
	right: 0;
}
/* Panel right open animated */
.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,
.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	-moz-transform: none;
}
/* Wrapper and fixed toolbars positioning (for reveal and push) */
/* Panel left open */
.ui-panel-page-content-position-left {
	left: 17em;
	right: -17em;
}
/* Panel left open animated */
.ui-panel-animate.ui-panel-page-content-position-left {
	left: 0;
	right: 0;
	-webkit-transform: translate3d(17em,0,0);
	-moz-transform: translate3d(17em,0,0);
	transform: translate3d(17em,0,0);
}
/* Panel right open */
.ui-panel-page-content-position-right {
	left: -17em;
	right: 17em;
}
/* Panel right open animated */
.ui-panel-animate.ui-panel-page-content-position-right {
	left: 0;
	right: 0;
	-webkit-transform: translate3d(-17em,0,0);
	-moz-transform: translate3d(-17em,0,0);
	transform: translate3d(-17em,0,0);
}
/* Dismiss model open */
.ui-panel-dismiss-open.ui-panel-dismiss-position-left {
	left: 17em;
}
.ui-panel-dismiss-open.ui-panel-dismiss-position-right {
	right: 17em;
}
/* Shadows and borders */
.ui-panel-display-reveal {
	-webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15);
	-moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15);
	box-shadow: inset -5px 0 5px rgba(0,0,0,.15);
}
.ui-panel-position-right.ui-panel-display-reveal {
	-webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15);
	-moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15);
	box-shadow: inset 5px 0 5px rgba(0,0,0,.15);
}
.ui-panel-display-overlay {
	-webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15);
	-moz-box-shadow: 5px 0 5px rgba(0,0,0,.15);
	box-shadow: 5px 0 5px rgba(0,0,0,.15);
}
.ui-panel-position-right.ui-panel-display-overlay {
	-webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15);
	-moz-box-shadow: -5px 0 5px rgba(0,0,0,.15);
	box-shadow: -5px 0 5px rgba(0,0,0,.15);
}
.ui-panel-open.ui-panel-position-left.ui-panel-display-push {
	border-right-width: 1px;
	margin-right: -1px;
}
.ui-panel-page-content-position-left.ui-panel-page-content-display-push {
	margin-left: 1px;
	width: auto;
}
.ui-panel-open.ui-panel-position-right.ui-panel-display-push {
	border-left-width: 1px;
	margin-left: -1px;
}
.ui-panel-page-content-position-right.ui-panel-page-content-display-push {
	margin-right: 1px;
	width: auto;
}
/* Responsive: wrap on wide viewports once open */
@media (min-width:55em) {
	.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left {
		margin-right: 17em;
	}
	.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right {
		margin-left: 17em;
	}
	.ui-responsive-panel .ui-panel-page-content-open {
		width: auto;	
	}
	.ui-responsive-panel .ui-panel-dismiss-display-push,
	.ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push {
		display: none;
	}
}
.ui-tabs {
	position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
	padding: .2em;
}
