/*!
 * Copyright (C) 2014 Glyptodon LLC
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */@keyframes shake-head{0%{margin-left:.25em;margin-right:-0.25em}25%{margin-left:-0.25em;margin-right:.25em}50%{margin-left:.25em;margin-right:-0.25em}75%{margin-left:-0.25em;margin-right:.25em}100%{margin-left:.00em;margin-right:.00em}}@-webkit-keyframes shake-head{0%{margin-left:.25em;margin-right:-0.25em}25%{margin-left:-0.25em;margin-right:.25em}50%{margin-left:.25em;margin-right:-0.25em}75%{margin-left:-0.25em;margin-right:.25em}100%{margin-left:.00em;margin-right:.00em}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}.attributes input[type=text],.attributes input[type=password],.attributes input[type=number]{width:auto}.attributes .form .fields{display:table;margin:1em}.attributes .form .fields .labeled-field{display:table-row}.attributes .form .fields .field-header,.attributes .form .fields .form-field{display:table-cell;padding:.125em;vertical-align:top}.attributes .form .fields .field-header{padding-right:1em}.attributes .form h3{font-size:1.25em;font-weight:bold;text-transform:uppercase;padding:.75em .5em;margin:1em 0;border-bottom:1px solid rgba(0,0,0,0.125);border-top:1px solid rgba(0,0,0,0.125);box-shadow:0 1px 2px rgba(0,0,0,0.125);background:rgba(0,0,0,0.04);width:100%}a.button.add-user,a.button.add-connection,a.button.add-connection-group{font-size:.8em;padding-left:1.8em;position:relative}a.button.add-user::before,a.button.add-connection::before,a.button.add-connection-group::before{content:' ';position:absolute;width:1.8em;top:0;bottom:0;left:0;background-repeat:no-repeat;background-size:1em;background-position:.5em .45em}a.button.add-user::before{background-image:url('images/action-icons/guac-user-add.png')}a.button.add-connection::before{background-image:url('images/action-icons/guac-monitor-add.png')}a.button.add-connection-group::before{background-image:url('images/action-icons/guac-group-add.png')}a.button{cursor:default;display:inline-block}input[type="submit"],button,a.button{-webkit-appearance:none;text-decoration:none;background-color:#3c3c3c;border:1px solid rgba(0,0,0,0.4);color:white;text-shadow:-1px -1px rgba(0,0,0,0.3);font-size:1em;font-weight:bold;font-family:Carlito,FreeSans,Helvetica,Arial,sans-serif;padding:.35em 1em;min-width:5em;margin:.25em;box-shadow:0 1px 2px rgba(0,0,0,0.25)}input[type="submit"]:hover,button:hover,a.button:hover{background-color:#5a5a5a}input[type="submit"]:active,button:active,a.button:active{background-color:#2c2c2c;box-shadow:inset 1px 1px .25em rgba(0,0,0,0.25),-1px -1px .25em rgba(0,0,0,0.25),1px 1px .25em rgba(255,255,255,0.25)}button.danger,a.button.danger{background:#A43}button.danger:hover,a.button.danger:hover{background:#C54}button.danger:active,a.button.danger:active{background:#932}input[type="submit"]:disabled,button:disabled,button.danger:disabled{background-color:#3c3c3c;color:rgba(255,255,255,0.5);opacity:.75}.button.logout,button.logout,.button.reconnect,button.reconnect,.button.manage,button.manage,.button.back,button.back,.button.home,button.home,.button.change-password,button.change-password{position:relative;padding-left:1.8em}.button.logout::before,button.logout::before,.button.reconnect::before,button.reconnect::before,.button.manage::before,button.manage::before,.button.back::before,button.back::before,.button.home::before,button.home::before,.button.change-password::before,button.change-password::before{content:' ';position:absolute;left:0;top:0;bottom:0;width:1.8em;background-repeat:no-repeat;background-size:1em;background-position:.5em .45em}.button.logout::before,button.logout::before{background-image:url('images/action-icons/guac-logout.png')}.button.reconnect::before,button.reconnect::before{background-image:url('images/circle-arrows.png')}.button.manage::before,button.manage::before{background-image:url('images/action-icons/guac-config.png')}.button.back::before,button.back::before{background-image:url('images/action-icons/guac-back.png')}.button.home::before,button.home::before{background-image:url('images/action-icons/guac-home.png')}.button.change-password::before,button.change-password::before{background-image:url('images/action-icons/guac-key.png')}body.client{background:black;padding:0;margin:0;overflow:hidden}#preload{visibility:hidden;position:absolute;left:0;right:0;width:0;height:0;overflow:hidden}.client-view{position:absolute;top:0;left:0;width:100%;height:100%;font-size:0}.client-view-content{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:column;-ms-flex-pack:end;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:vertical;-moz-box-pack:end;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:vertical;-webkit-box-pack:end;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:column;-webkit-flex-pack:end;display:flex;align-items:stretch;flex-direction:column;flex-pack:end;width:100%;height:100%;font-size:12pt}.client-view .client-body{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;position:relative}.client-view .client-bottom{-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.client-view .client-body .main{position:absolute;left:0;top:0;right:0;bottom:0;width:auto;height:auto}.client .user-menu .options li a.disconnect{background-repeat:no-repeat;background-size:1em;background-position:.75em center;padding-left:2.5em;background-image:url('images/x.png')}.connection-parameters input[type=text],.connection-parameters input[type=password],.connection-parameters input[type=number]{width:auto}.connection-parameters .form .fields{display:table;padding-left:.5em;border-left:3px solid rgba(0,0,0,0.125)}.connection-parameters .form .fields .labeled-field{display:table-row}.connection-parameters .form .fields .field-header,.connection-parameters .form .fields .form-field{display:table-cell;padding:.125em;vertical-align:top}.connection-parameters .form .fields .field-header{padding-right:1em}.login-ui.error .login-dialog{animation-name:shake-head;animation-duration:.25s;animation-timing-function:linear;-webkit-animation-name:shake-head;-webkit-animation-duration:.25s;-webkit-animation-timing-function:linear}.login-ui div.login-dialog-middle{width:100%;display:table-cell;vertical-align:middle;text-align:center}.login-ui div.login-dialog{animation:fadein .125s linear;-moz-animation:fadein .125s linear;-webkit-animation:fadein .125s linear;width:100%;max-width:3in;text-align:left;padding:1em;border:1px solid rgba(0,0,0,0.25);box-shadow:1px 1px 2px rgba(0,0,0,0.25);font-size:1.25em;display:inline-block}.login-ui .login-dialog h1{margin-top:0;margin-bottom:0;text-align:center}.login-ui .login-dialog .buttons{text-align:right;margin:0;margin-top:1em}.login-ui .login-dialog .login-fields{vertical-align:middle}.login-ui .login-dialog th{text-shadow:1px 1px white}.login-ui .login-dialog .version{font-size:1.25em;font-weight:bold;padding:.5em 0;text-transform:uppercase;text-align:center}.login-ui .login-dialog .logo{display:block;margin:.5em auto;width:3em;height:3em;background-size:3em 3em;-moz-background-size:3em 3em;-webkit-background-size:3em 3em;-khtml-background-size:3em 3em;background-image:url("images/guac-tricolor.png")}.login-ui.continuation div.login-dialog{border-right:0;border-left:none;box-shadow:none;max-width:6in}.login-ui.continuation .login-dialog .logo,.login-ui.continuation .login-dialog .version{display:none}.dialog-container{position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(0,0,0,0.5);padding:1em}.dialog-outer{display:table;height:100%;width:100%;position:fixed;left:0;top:0;background:rgba(0,0,0,0.5)}.dialog-middle{width:100%;text-align:center;display:table-cell;vertical-align:middle}.dialog.edit{max-height:100%}.dialog{max-width:100%;width:8in;margin-left:auto;margin-right:auto;overflow:auto;border:1px solid rgba(0,0,0,0.5);background:#e7e7e7;-moz-border-radius:.2em;-webkit-border-radius:.2em;-khtml-border-radius:.2em;border-radius:.2em;box-shadow:.1em .1em .2em rgba(0,0,0,0.6)}.dialog>*{margin:1em}.dialog .header{margin:0}.dialog td{position:relative}.dialog .overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1}.dialog .footer{text-align:center}.software-cursor{cursor:url('images/mouse/blank.gif'),url('images/mouse/blank.cur'),default;overflow:hidden;cursor:none}.guac-error .software-cursor{cursor:default}div.main{overflow:auto;width:100%;height:100%;position:relative;font-size:0}div.displayOuter{height:100%;width:100%;position:absolute;left:0;top:0;display:table}div.displayMiddle{width:100%;display:table-cell;vertical-align:middle;text-align:center}div.display{display:inline-block}div.display *{position:relative}div.display>*{margin-left:auto;margin-right:auto}.file-browser .directory>.children{padding-left:1em;display:none}.file-browser .list-item .caption{white-space:nowrap;border:1px solid transparent}.file-browser .list-item.focused .caption{border:1px dotted rgba(0,0,0,0.5);background:rgba(204,221,170,0.5)}.file-browser .normal-file>.caption .icon{background-image:url('images/file.png')}.file-browser .directory>.caption .icon{background-image:url('images/folder-closed.png')}.file-browser .directory.previous>.caption .icon{background-image:url('images/folder-up.png')}#file-transfer-dialog{position:absolute;right:0;bottom:0;z-index:20;font-size:.8em;width:4in;max-width:100%;max-height:3in}#file-transfer-dialog .transfer-manager{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:column;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:vertical;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:vertical;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:column;display:flex;align-items:stretch;flex-direction:column;max-width:inherit;max-height:inherit;border:1px solid rgba(0,0,0,0.5);box-shadow:1px 1px 2px rgba(0,0,0,0.25)}#file-transfer-dialog .transfer-manager .header{-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}#file-transfer-dialog .transfer-manager .transfer-manager-body{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}@media all and (max-height:3in){#file-transfer-dialog{max-height:1.5in}}@media all and (max-height:1.5in){#file-transfer-dialog{height:100%}#file-transfer-dialog .transfer-manager{position:absolute;left:.5em;top:.5em;right:.5em;bottom:.5em}}#filesystem-menu .header h2{font-size:1em;font-weight:normal;padding-top:0;padding-bottom:0}#filesystem-menu .header{-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}#filesystem-menu .menu-body{padding:.25em}#filesystem-menu .header.breadcrumbs{display:block;background:rgba(0,0,0,0.0125);border-bottom:1px solid rgba(0,0,0,0.05);box-shadow:none;margin-top:0;border-top:0}#filesystem-menu .header.breadcrumbs .breadcrumb{display:inline-block;padding:.5em;font-size:.8em;font-weight:bold}#filesystem-menu .header.breadcrumbs .breadcrumb:hover{background-color:#CDA;cursor:pointer}#filesystem-menu .header.breadcrumbs .breadcrumb.root{background-size:1.5em 1.5em;-moz-background-size:1.5em 1.5em;-webkit-background-size:1.5em 1.5em;-khtml-background-size:1.5em 1.5em;background-repeat:no-repeat;background-position:center center;background-image:url('images/drive.png');width:2em;height:2em;padding:0;vertical-align:middle}.filter{margin:.5em 0}.filter .search-string{background-image:url('images/magnifier.png');background-repeat:no-repeat;background-size:1.75em;background-position:.25em center;padding:.5em;padding-left:2.25em;width:100%;max-width:none}@font-face{font-family:'Carlito';font-weight:normal;font-style:normal;src:url('fonts/carlito/Carlito-Regular.woff') format('woff')}@font-face{font-family:'Carlito';font-weight:bold;font-style:normal;src:url('fonts/carlito/Carlito-Bold.woff') format('woff')}@font-face{font-family:'Carlito';font-weight:normal;font-style:italic;src:url('fonts/carlito/Carlito-Italic.woff') format('woff')}.form-field .password-field{white-space:nowrap}.form-field .password-field .icon.toggle-password{display:inline-block;opacity:.5;cursor:default;background-repeat:no-repeat;background-size:1em;width:1em;height:1em}.form-field .password-field input[type=password] ~ .icon.toggle-password{background-image:url('images/action-icons/guac-show-pass.png')}.form-field .password-field input[type=text] ~ .icon.toggle-password{background-image:url('images/action-icons/guac-hide-pass.png')}.form table.fields th{text-align:left;font-weight:normal;padding-right:1em}.manage table.properties th{text-align:left;font-weight:normal;padding-right:1em}.manage .action-buttons{text-align:center;margin-bottom:1em}#guac-menu .content{padding:0;margin:0;display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:column;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:vertical;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:vertical;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:column;display:flex;align-items:stretch;flex-direction:column}#guac-menu .content>*{margin:0;-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}#guac-menu .content>*+*{margin-top:1em}#guac-menu #clipboard-settings textarea{width:100%;border:1px solid #AAA;-moz-border-radius:.25em;-webkit-border-radius:.25em;-khtml-border-radius:.25em;border-radius:.25em;white-space:pre;display:block;font-size:1em}#guac-menu #mouse-settings .choice{text-align:center}#guac-menu #mouse-settings .choice .figure{display:inline-block;vertical-align:middle;width:75%;max-width:320px}#guac-menu #keyboard-settings .caption{font-size:.9em;margin-left:2em;margin-right:2em}#guac-menu #mouse-settings .figure .caption{text-align:center;font-size:.9em}#guac-menu #mouse-settings .figure img{display:block;width:100%;max-width:320px;margin:1em auto}#guac-menu #keyboard-settings .figure{float:right;max-width:30%;margin:1em}#guac-menu #keyboard-settings .figure img{max-width:100%}#guac-menu #zoom-settings{text-align:center}#guac-menu #zoom-out,#guac-menu #zoom-in,#guac-menu #zoom-state{display:inline-block;vertical-align:middle}#guac-menu #zoom-out,#guac-menu #zoom-in{max-width:3em;border:1px solid rgba(0,0,0,0.5);background:rgba(0,0,0,0.1);border-radius:2em;margin:.5em;cursor:pointer}#guac-menu #zoom-out img,#guac-menu #zoom-in img{max-width:100%;opacity:.5}#guac-menu #zoom-out:hover,#guac-menu #zoom-in:hover{border:1px solid rgba(0,0,0,1);background:#CDA}#guac-menu #zoom-out:hover img,#guac-menu #zoom-in:hover img{opacity:1}#guac-menu #zoom-state{font-size:2em}#guac-menu #devices .device{padding:1em;border:1px solid rgba(0,0,0,0.125);background:rgba(0,0,0,0.04);padding-left:3.5em;background-size:1.5em 1.5em;-moz-background-size:1.5em 1.5em;-webkit-background-size:1.5em 1.5em;-khtml-background-size:1.5em 1.5em;background-repeat:no-repeat;background-position:1em center}#guac-menu #devices .device:hover{cursor:pointer;border-color:black}#guac-menu #devices .device.filesystem{background-image:url('images/drive.png')}h1{margin:0;padding:.5em;font-size:2em;vertical-align:middle;text-align:center}h2{font-size:1.25em;font-weight:bold;text-transform:uppercase;padding:.75em .5em;margin:0}.header{border-bottom:1px solid rgba(0,0,0,0.125);box-shadow:0 1px 2px rgba(0,0,0,0.125);background:rgba(0,0,0,0.04);margin-bottom:1em;margin-top:0;border-top:0;width:100%;display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:row;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:row;display:flex;align-items:stretch;flex-direction:row}.header ~ * .header,.header ~ .header{margin-top:1em;border-top:1px solid rgba(0,0,0,0.125)}.header h2{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.header .filter{margin:0;padding:.75em .5em}.header .filter input{-moz-border-radius:0;-webkit-border-radius:0;-khtml-border-radius:0;border-radius:0;border:0;border-left:1px solid rgba(0,0,0,0.125);background-color:transparent}.settings.connectionHistory .filter{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:row;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:row;display:flex;align-items:stretch;flex-direction:row}.settings.connectionHistory .filter .search-button{margin-top:0;margin-bottom:0}.settings.connectionHistory .history-list{width:100%}.history-unavailable div.recent-connections{display:none}div.recent-connections,div.clipboardDiv,div.settings,div.all-connections{margin:1em;padding:0}.all-connections .list-buttons{text-align:center;padding:0}div.recent-connections{text-align:center}div.recent-connections div.connection{-moz-border-radius:.5em;-webkit-border-radius:.5em;-khtml-border-radius:.5em;border-radius:.5em;display:inline-block;padding:1em;margin:1em;text-align:center;max-width:75%;overflow:hidden}.preferences .input-method .caption{margin-left:2em;margin-right:2em}.login-ui .login-dialog .login-fields input{display:block;border:1px solid rgba(0,0,0,0.25);-moz-border-radius:.2em;-webkit-border-radius:.2em;-khtml-border-radius:.2em;font-family:Carlito,FreeSans,Helvetica,Arial,sans-serif;border-radius:.2em;width:100%;margin:0;margin-bottom:.5em;padding:.5em .75em;max-width:none}.login-ui .login-dialog .buttons input[type="submit"]{width:100%;margin:0}.login-ui.continuation .login-dialog .buttons input[type="submit"]{width:auto}.login-ui.initial .login-dialog input.continue-login,.login-ui.continuation .login-dialog input.login{display:none}input[type=checkbox],input[type=number],input[type=text],input[type=radio],label,textarea{-webkit-tap-highlight-color:rgba(128,192,128,0.5)}div.location,input[type=text],input[type=number],input[type=password],textarea{border:1px solid #777;-moz-border-radius:.2em;-webkit-border-radius:.2em;-khtml-border-radius:.2em;border-radius:.2em;width:100%;max-width:16em;padding:.25em;font-size:.8em;background:white;cursor:text}textarea{max-width:none;width:30em;height:10em;white-space:pre;word-wrap:normal;overflow:auto}.keyboard-container{text-align:center;width:100%;margin:0;padding:0;border-top:1px solid black;background:#222;opacity:.85;z-index:1}.user,.group,.connection{cursor:pointer}.user a,.connection a,.group a{text-decoration:none;color:black}.user a:hover,.connection a:hover,.group a:hover{text-decoration:none;color:black}.user a:visited,.connection a:visited,.group a:visited{text-decoration:none;color:black}.connection:hover{background:#CDA}.connection .thumbnail{margin:.5em}.connection .thumbnail>*{border:1px solid black;background:black;box-shadow:1px 1px 5px black;max-width:75%;display:inline-block}div.recent-connections .connection .thumbnail{display:block}div.recent-connections .protocol{display:none}.caption *{vertical-align:middle}.caption .choice{display:inline-block}.caption .name{margin-left:.25em}.placeholder{color:rgba(255,255,255,0.5);text-shadow:-1px -1px rgba(0,0,0,0.5);text-align:center;opacity:.5;font-size:2em;font-weight:bolder}.loading{position:relative;min-height:200px}.view.loading{position:fixed;top:0;left:0;width:100%;height:100%}.loading *{visibility:hidden}.loading::before{display:block;position:absolute;content:'';width:96px;height:96px;margin-left:-48px;margin-top:-48px;top:50%;left:50%;background-image:url('images/cog.png');background-size:96px 96px;background-position:center center;background-repeat:no-repeat;animation:spinning-cog 4s linear infinite;-moz-animation:spinning-cog 4s linear infinite;-webkit-animation:spinning-cog 4s linear infinite}@keyframes spinning-cog{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@-moz-keyframes spinning-cog{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spinning-cog{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}.location-chooser .dropdown{position:absolute;z-index:2;margin-top:-1px;width:3in;max-height:2in;overflow:auto;border:1px solid rgba(0,0,0,0.5);background:white;font-size:10pt}div.login-ui{height:100%;width:100%;position:fixed;left:0;top:0;display:table;background:white;z-index:20}.login-ui p.login-error{display:none}.login-ui.error p.login-error{display:block;position:fixed;left:0;right:0;top:0;padding:1em;margin:.2em;background:#FDD;border:1px solid #964040;-moz-border-radius:.25em;-webkit-border-radius:.25em;-khtml-border-radius:.25em;text-align:center;color:#964040}.login-ui .login-fields .form-field .password-field .toggle-password{display:none}.login-ui .login-fields .labeled-field{display:block;position:relative;z-index:1}.login-ui .login-fields .labeled-field .field-header{display:block;position:absolute;left:0;right:0;overflow:hidden;z-index:-1;margin:.5em;font-size:.9em;opacity:.5}.login-ui .login-fields .labeled-field.empty input{background:transparent}.login-ui .login-fields .labeled-field input:focus{background:white}.manage-user .username.header{margin-bottom:0}.manage-user .page-tabs .page-list li.read-only a[href],.manage-user .page-tabs .page-list li.unlinked a[href],.manage-user .page-tabs .page-list li.linked a[href]{padding-right:2.5em;position:relative}.manage-user .page-tabs .page-list li.read-only a[href]:before,.manage-user .page-tabs .page-list li.unlinked a[href]:before,.manage-user .page-tabs .page-list li.linked a[href]:before{content:' ';position:absolute;right:0;bottom:0;top:0;width:2.5em;background-size:1.25em;background-repeat:no-repeat;background-position:center}.manage-user .page-tabs .page-list li.read-only a[href]:before{background-image:url('images/lock.png')}.manage-user .page-tabs .page-list li.unlinked a[href]:before{background-image:url('images/plus.png')}.manage-user .page-tabs .page-list li.unlinked a[href]{opacity:.5}.manage-user .page-tabs .page-list li.unlinked a[href]:hover,.manage-user .page-tabs .page-list li.unlinked a[href].current{opacity:1}.manage-user .page-tabs .page-list li.linked a[href]:before{background-image:url('images/checkmark.png')}.manage-user .notice.read-only{background:#FDA;border:1px solid rgba(0,0,0,0.125);border-radius:.25em;text-align:center;padding:1em}.menu{overflow:hidden;position:absolute;top:0;height:100%;max-width:100%;width:480px;background:#EEE;box-shadow:inset -1px 0 2px white,1px 0 2px black;z-index:10;-webkit-transition:left .125s,opacity .125s;-moz-transition:left .125s,opacity .125s;-ms-transition:left .125s,opacity .125s;-o-transition:left .125s,opacity .125s;transition:left .125s,opacity .125s}.menu-content{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:column;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:vertical;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:vertical;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:column;display:flex;align-items:stretch;flex-direction:column;width:100%;height:100%}.menu-content .header{-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}.menu-body{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;padding:1em;overflow:auto;display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:column;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:vertical;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:vertical;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:column;display:flex;align-items:stretch;flex-direction:column}.menu-body>*{-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.menu-section h3{margin:0;padding:0;padding-bottom:1em}.menu-section ~ .menu-section h3{padding-top:1em}.menu,.menu.closed{left:-480px;opacity:0}.menu.open{left:0;opacity:1}.preferences .mouse-mode .choices{text-align:center}.preferences .mouse-mode .choice{display:inline-block}.preferences .mouse-mode .choice .figure{display:inline-block;vertical-align:middle;width:75%;max-width:320px}.preferences .mouse-mode .figure img{display:block;width:100%;max-width:320px;margin:1em auto}.preferences .mouse-mode .caption{text-align:left}.notification{border:1px solid rgba(0,0,0,0.125);box-shadow:1px 1px 2px rgba(0,0,0,0.125);background:white;color:black}.notification.error{background:#FDD}.notification .body{margin:.5em}.notification .buttons{margin:.5em}@keyframes notification-progress{from{background-position:0 0}to{background-position:64px 0}}@-webkit-keyframes notification-progress{from{background-position:0 0}to{background-position:64px 0}}.notification .title-bar{font-size:1.25em;font-weight:bold;text-transform:uppercase;border-bottom:1px solid rgba(0,0,0,0.125);box-shadow:0 1px 2px rgba(0,0,0,0.125);background:rgba(0,0,0,0.04);padding:.5em;margin-bottom:1em}.notification .progress .bar{background:#a3d655;position:absolute;top:0;left:0;height:100%;width:0;box-shadow:inset 1px 1px 0 rgba(255,255,255,0.5),inset -1px -1px 0 rgba(0,0,0,0.1),1px 1px 0 gray}.notification .progress{width:100%;background:#c2c2c2 url('images/progress.png');background-size:16px 16px;-moz-background-size:16px 16px;-webkit-background-size:16px 16px;-khtml-background-size:16px 16px;animation-name:notification-progress;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-name:notification-progress;-webkit-animation-duration:2s;-webkit-animation-timing-function:linear;-webkit-animation-iteration-count:infinite;padding:.25em;border:1px solid gray;position:relative}.notification .progress .text{position:relative}.osk{position:relative}.guac-keyboard{display:inline-block;width:100%;margin:0;padding:0;cursor:default;text-align:left;vertical-align:middle}.guac-keyboard,.guac-keyboard *{overflow:hidden;white-space:nowrap}.guac-keyboard .guac-keyboard-key-container{display:inline-block;margin:.05em;position:relative}.guac-keyboard .guac-keyboard-key{position:absolute;left:0;right:0;top:0;bottom:0;background:#444;border:.125em solid #666;-moz-border-radius:.25em;-webkit-border-radius:.25em;-khtml-border-radius:.25em;border-radius:.25em;color:white;font-size:40%;font-weight:lighter;text-align:center;white-space:pre;text-shadow:1px 1px 0 rgba(0,0,0,0.25),1px -1px 0 rgba(0,0,0,0.25),-1px 1px 0 rgba(0,0,0,0.25),-1px -1px 0 rgba(0,0,0,0.25)}.guac-keyboard .guac-keyboard-key:hover{cursor:pointer}.guac-keyboard .guac-keyboard-key.highlight{background:#666;border-color:#666}.guac-keyboard .guac-keyboard-key-caps,.guac-keyboard .guac-keyboard-key-enter,.guac-keyboard .guac-keyboard-key-tab,.guac-keyboard .guac-keyboard-key-lalt,.guac-keyboard .guac-keyboard-key-ralt,.guac-keyboard .guac-keyboard-key-alt-gr,.guac-keyboard .guac-keyboard-key-lctrl,.guac-keyboard .guac-keyboard-key-rctrl,.guac-keyboard .guac-keyboard-key-lshift,.guac-keyboard .guac-keyboard-key-rshift{text-align:left;padding-left:.75em}.guac-keyboard.guac-keyboard-modifier-shift .guac-keyboard-key-rshift,.guac-keyboard.guac-keyboard-modifier-shift .guac-keyboard-key-lshift,.guac-keyboard.guac-keyboard-modifier-control .guac-keyboard-key-rctrl,.guac-keyboard.guac-keyboard-modifier-control .guac-keyboard-key-lctrl,.guac-keyboard.guac-keyboard-modifier-alt .guac-keyboard-key-ralt,.guac-keyboard.guac-keyboard-modifier-alt .guac-keyboard-key-lalt,.guac-keyboard.guac-keyboard-modifier-alt-gr .guac-keyboard-key-alt-gr,.guac-keyboard.guac-keyboard-modifier-caps .guac-keyboard-key-caps,.guac-keyboard.guac-keyboard-modifier-super .guac-keyboard-key-super{background:#882;border-color:#DD4}.guac-keyboard .guac-keyboard-key.guac-keyboard-pressed{background:#822;border-color:#D44}.guac-keyboard .guac-keyboard-group{line-height:0}.guac-keyboard .guac-keyboard-group.guac-keyboard-alpha,.guac-keyboard .guac-keyboard-group.guac-keyboard-movement{display:inline-block;text-align:center;vertical-align:top}.guac-keyboard .guac-keyboard-group.guac-keyboard-main{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:row;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:row;display:flex;align-items:stretch;flex-direction:row}.guac-keyboard .guac-keyboard-group.guac-keyboard-movement{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.guac-keyboard .guac-keyboard-gap{display:inline-block}.guac-keyboard:not(.guac-keyboard-modifier-caps) .guac-keyboard-cap.guac-keyboard-requires-caps,.guac-keyboard:not(.guac-keyboard-modifier-shift) .guac-keyboard-cap.guac-keyboard-requires-shift,.guac-keyboard:not(.guac-keyboard-modifier-alt-gr) .guac-keyboard-cap.guac-keyboard-requires-alt-gr,.guac-keyboard.guac-keyboard-modifier-shift .guac-keyboard-key.guac-keyboard-uses-shift .guac-keyboard-cap:not(.guac-keyboard-requires-shift),.guac-keyboard.guac-keyboard-modifier-caps .guac-keyboard-key.guac-keyboard-uses-caps .guac-keyboard-cap:not(.guac-keyboard-requires-caps),.guac-keyboard.guac-keyboard-modifier-alt-gr .guac-keyboard-key.guac-keyboard-uses-alt-gr .guac-keyboard-cap:not(.guac-keyboard-requires-alt-gr){display:none}.guac-keyboard.guac-keyboard-modifier-alt-gr .guac-keyboard-key:not(.guac-keyboard-uses-alt-gr):not(.guac-keyboard-key-alt-gr){opacity:.5}.page-tabs .page-list ul{margin:0;padding:0;background:rgba(0,0,0,0.0125);border-bottom:1px solid rgba(0,0,0,0.05)}.page-tabs .page-list ul+ul{font-size:.75em}.page-tabs .page-list li{display:inline-block;list-style:none}.page-tabs .page-list li a[href]{display:block;color:black;text-decoration:none;padding:.75em 1em}.page-tabs .page-list li a[href]:visited{color:black}.page-tabs .page-list li a[href]:hover{background-color:#CDA}.page-tabs .page-list li a[href].current,.page-tabs .page-list li a[href].current:hover{background:rgba(0,0,0,0.3);cursor:default}.pager{text-align:center;margin:1em}.pager .page-numbers{display:inline-block;margin:0;padding:0}.pager .first-page,.pager .prev-page,.pager .set-page,.pager .next-page,.pager .last-page{cursor:pointer;vertical-align:middle}.pager .first-page.disabled,.pager .prev-page.disabled,.pager .set-page.disabled,.pager .next-page.disabled,.pager .last-page.disabled{cursor:auto;opacity:.25}.pager .set-page,.pager .more-pages{display:inline-block;padding:.25em;text-align:center;min-width:1.25em}.pager .set-page{text-decoration:underline}.pager .set-page.current{cursor:auto;text-decoration:none;font-weight:bold;background:rgba(0,0,0,0.1);border:1px solid rgba(0,0,0,0.1);-moz-border-radius:.2em;-webkit-border-radius:.2em;-khtml-border-radius:.2em;border-radius:.2em}.pager .icon.first-page{background-image:url('images/action-icons/guac-first-page.png')}.pager .icon.prev-page{background-image:url('images/action-icons/guac-prev-page.png')}.pager .icon.next-page{background-image:url('images/action-icons/guac-next-page.png')}.pager .icon.last-page{background-image:url('images/action-icons/guac-last-page.png')}.preferences .update-password .form,.preferences .language .form{padding-left:.5em;border-left:3px solid rgba(0,0,0,0.125)}.resize-sensor{height:100%;width:100%;position:absolute;left:0;top:0;overflow:hidden;border:0;opacity:0;z-index:-1}.settings table.session-list{width:100%}.settings table.session-list tr.session:hover{background:#CDA}.settings table.session-list .select-session{min-width:2em;text-align:center}.settings .header{margin-bottom:0}.settings table.properties th{text-align:left;font-weight:normal;padding-right:1em}.settings .action-buttons{text-align:center;margin:1em 0}.settings .toolbar{display:-ms-flexbox;-ms-flex-align:center;-ms-flex-direction:row;display:-moz-box;-moz-box-align:center;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:center;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:center;-webkit-flex-direction:row;display:flex;align-items:center;flex-direction:row}.settings .toolbar .action-buttons{margin-right:.25em}.settings .toolbar .filter{-ms-flex:1 1 auto;-moz-box-flex:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}table.sorted{border-collapse:collapse}table.sorted th{background:rgba(0,0,0,0.125);font-weight:normal}table.sorted th,table.sorted td{border:1px solid #AAA;padding:.5em 1em}table.sorted th.sortable{cursor:pointer}table.sorted th.sort-primary{font-weight:bold;padding-right:0}table.sorted th.sort-primary:after{display:inline-block;width:1em;height:1em;vertical-align:middle;content:' ';background-size:1em 1em;background-position:right center;background-repeat:no-repeat;background-image:url('images/arrows/down.png')}table.sorted th.sort-primary.sort-descending:after{background-image:url('images/arrows/up.png')}.status-outer{display:table;height:100%;width:100%;position:fixed;left:0;top:0;background:rgba(0,0,0,0.5);z-index:10}.status-middle{width:100%;text-align:center;display:table-cell;vertical-align:middle}.status-middle .notification{width:75%;max-width:5in;margin-left:auto;margin-right:auto;overflow:auto;text-align:left}.status-middle .notification .body{margin:1.25em}.status-middle .notification .buttons{margin:1em}.status-outer{visibility:hidden;opacity:0;transition:opacity,visibility;transition-duration:.25s}.shown.status-outer{visibility:visible;opacity:1}.status-middle .notification{visibility:hidden}.shown .status-middle .notification{visibility:visible}.text-input{width:100%;background:#222;color:white}.text-input .text-input-field,.text-input .text-input-buttons{display:inline-block;vertical-align:middle}.text-input .text-input-field{width:30%;overflow:hidden;white-space:nowrap}.text-input .text-input-buttons{width:70%;text-align:right}.text-input .target{border:0;border-radius:0;display:inline-block;vertical-align:middle;color:white;font-size:12pt;width:100%;height:auto;resize:none;outline:0;margin:0;padding:.25em;padding-left:0;background:transparent;overflow:hidden}.text-input.open{display:block}.text-input .sent-history{display:inline-block;vertical-align:middle;padding:.25em;padding-right:0}.text-input .sent-history .sent-text{display:inline-block;vertical-align:baseline;white-space:pre;font-size:12pt;animation:fadeout 1s linear;-webkit-animation:fadeout 1s linear;opacity:0}.text-input .text-input-buttons button{box-shadow:none;padding:.25em;max-width:20%;margin:.1em;min-width:3em;background:#444;border:.125em solid #666;-moz-border-radius:.25em;-webkit-border-radius:.25em;-khtml-border-radius:.25em;border-radius:.25em;color:white;font-weight:lighter;text-align:center;text-shadow:1px 1px 0 rgba(0,0,0,0.25),1px -1px 0 rgba(0,0,0,0.25),-1px 1px 0 rgba(0,0,0,0.25),-1px -1px 0 rgba(0,0,0,0.25)}.text-input .text-input-buttons button:active{background:#822;border-color:#D44}.text-input .text-input-buttons button.pressed{background:#882;border-color:#DD4}div.thumbnail-main{overflow:hidden;width:100%;height:100%;position:relative;font-size:0}.thumbnail-main img{max-width:100%}.thumbnail-main .display{position:absolute;pointer-events:none}.transfer-manager{background:white}.transfer-manager .header h2{font-size:1em;padding-top:0;padding-bottom:0}.transfer-manager .header{margin:0;-ms-flex-align:center;-moz-box-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.transfer-manager .transfers{display:table;padding:.25em;width:100%}.transfer{display:table-row}.transfer .transfer-status{display:table-cell;padding:.25em;position:relative}.transfer .text{display:table-cell;text-align:right;padding:.25em}.transfer .filename{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;position:relative;font-family:monospace;font-weight:bold;padding:.125em}@keyframes transfer-progress{from{background-position:0 0}to{background-position:64px 0}}@-webkit-keyframes transfer-progress{from{background-position:0 0}to{background-position:64px 0}}.transfer .progress{width:100%;padding:.25em;position:absolute;top:0;left:0;bottom:0;opacity:.25}.transfer.in-progress .progress{background-color:#EEE;background-image:url('images/progress.png');background-size:16px 16px;-moz-background-size:16px 16px;-webkit-background-size:16px 16px;-khtml-background-size:16px 16px;animation-name:transfer-progress;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-name:transfer-progress;-webkit-animation-duration:2s;-webkit-animation-timing-function:linear;-webkit-animation-iteration-count:infinite}.transfer .progress .bar{display:none;background:#a3d655;position:absolute;top:0;left:0;height:100%;width:0}.transfer.in-progress .progress .bar{display:initial}.transfer.savable{cursor:pointer}.transfer.savable .filename{color:blue;text-decoration:underline}.transfer.error{background:#FDD}.transfer.error .text,.transfer.error .progress .bar{display:none}.transfer .error-text{display:none}.transfer.error .error-text{display:block;margin:0;margin-top:.5em;width:100%}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{background:white;font-family:Carlito,FreeSans,Helvetica,Arial,sans-serif;padding:0;margin:0}img{border:0;vertical-align:middle}div.section{margin:1em;padding:0}.list-item{display:block;text-align:left;cursor:pointer;position:relative}.icon{width:24px;height:24px;background-size:16px 16px;-moz-background-size:16px 16px;-webkit-background-size:16px 16px;-khtml-background-size:16px 16px;background-repeat:no-repeat;background-position:center center;display:inline-block;vertical-align:middle}.list-item *{vertical-align:middle}.list-item .caption{padding:.1em}.list-item .caption:after{clear:right;content:"";display:block}.list-item .name{color:black;font-weight:normal;padding:.1em;margin-left:.25em}.list-item .usage{float:right;font-style:italic;color:gray}.list-item.in-use{opacity:.5}.choice .list-item.in-use{opacity:1}.list-item.selected{background:#DEB}.caption.active *{opacity:.5}.caption .activeUserCount{font-style:italic;margin-right:1em;float:right}.list-item:not(.selected) .caption:hover{background:#CDA}.choice .list-item{display:inline-block}.choice input[type='checkbox']{vertical-align:top;height:24px;padding:0;margin:0}.disabled .list-item:not(.selected){opacity:.25}.disabled .list-item:not(.selected):hover{background:inherit}.icon.user{background-image:url('images/user-icons/guac-user.png')}.icon.user.add{background-image:url('images/action-icons/guac-user-add.png')}.icon.connection{background-image:url('images/protocol-icons/guac-plug.png')}.icon.connection.add{background-image:url('images/action-icons/guac-monitor-add.png')}.protocol{display:inline-block}.protocol .icon{width:24px;height:24px;background-image:url('images/protocol-icons/guac-plug.png');background-size:16px 16px;-moz-background-size:16px 16px;-webkit-background-size:16px 16px;-khtml-background-size:16px 16px;background-repeat:no-repeat;background-position:center center}.protocol .icon.ssh,.protocol .icon.telnet{background-image:url('images/protocol-icons/guac-text.png')}.protocol .icon.vnc,.protocol .icon.rdp{background-image:url('images/protocol-icons/guac-monitor.png')}.group>.children{margin-left:13px;padding-left:6px}.group .icon.group.type.empty.balancer{opacity:1;background-image:url('images/protocol-icons/guac-monitor.png')}.group.expanded>.children{display:block;border-left:1px dotted rgba(0,0,0,0.25)}.group>.caption .icon.group{opacity:.75;background-image:url('images/group-icons/guac-closed.png')}.group .icon.type.group.expanded{background-image:url('images/group-icons/guac-open.png')}.group .icon.type.group.empty{opacity:.25;background-image:url('images/group-icons/guac-open.png')}.history th,.history td{padding-left:1em;padding-right:1em}.buttons{text-align:center;margin:1em}.user-menu{display:-ms-flexbox;-ms-flex-align:stretch;-ms-flex-direction:row;display:-moz-box;-moz-box-align:stretch;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:stretch;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:stretch;-webkit-flex-direction:row;display:flex;align-items:stretch;flex-direction:row}.user-menu .user-menu-dropdown{display:-ms-flexbox;-ms-flex-align:center;-ms-flex-direction:row;display:-moz-box;-moz-box-align:center;-moz-box-orient:horizontal;display:-webkit-box;-webkit-box-align:center;-webkit-box-orient:horizontal;display:-webkit-flex;-webkit-align-items:center;-webkit-flex-direction:row;display:flex;align-items:center;flex-direction:row}.user-menu .user-menu-dropdown{position:relative;border-left:1px solid rgba(0,0,0,0.125);background:rgba(0,0,0,0.04)}.user-menu .user-menu-dropdown:hover{background:rgba(0,0,0,0.01)}.user-menu .user-menu-dropdown.open,.user-menu .user-menu-dropdown.open:hover{background:rgba(0,0,0,0.3)}.user-menu .username{cursor:default;margin:0;min-width:2in;font-size:1.25em;font-weight:bold;padding:.5em 2em;background-repeat:no-repeat;background-size:1em;background-position:.5em center;background-image:url('images/user-icons/guac-user.png');-ms-flex:0 0 auto;-moz-box-flex:0;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.user-menu .menu-indicator{position:absolute;right:0;top:0;bottom:0;width:2em;background-repeat:no-repeat;background-size:1em;background-position:center center;background-image:url('images/arrows/down.png')}.user-menu .options{visibility:hidden;position:absolute;top:100%;right:0;left:-1px;background:#EEE;box-shadow:0 2px 2px rgba(0,0,0,0.125);border-left:1px solid rgba(0,0,0,0.125);border-bottom:1px solid rgba(0,0,0,0.125);z-index:5}.user-menu .options ul{margin:0;padding:0}.user-menu .user-menu-dropdown.open .options{visibility:visible}.user-menu .options li{padding:0;list-style-type:none}.user-menu .options li a{display:block;cursor:pointer;color:black;text-decoration:none;padding:.75em;background-repeat:no-repeat;background-size:1em;background-position:.75em center;padding-left:2.5em;background-image:url('images/protocol-icons/guac-monitor.png')}.user-menu .options li a:hover{background-color:#CDA}.user-menu .options li a.current,.user-menu .options li a.current:hover{background-color:transparent;cursor:default;opacity:.25}.user-menu .options li a[href="#/"]{background-image:url('images/action-icons/guac-home-dark.png')}.user-menu .options li a[href="#/settings/users"],.user-menu .options li a[href="#/settings/connections"],.user-menu .options li a[href="#/settings/sessions"],.user-menu .options li a[href="#/settings/preferences"]{background-image:url('images/action-icons/guac-config-dark.png')}.user-menu .options li a.logout{background-image:url('images/action-icons/guac-logout-dark.png')}.user-menu .options li a.danger{color:white;font-weight:bold;background-color:#A43}.user-menu .options li a.danger:hover{background-color:#C54}.viewport{position:absolute;bottom:0;left:0;width:100%;height:100%;overflow:hidden}