Files

copied
Last update 5 years 9 months by Librae
Filesfssrc
..
README.md
config.json
favicon.ico
index.html
index.html
<!doctype html> <html lang="en"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <head> <style> /*! * # Semantic UI 2.1.7 - Form * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Elements *******************************/ /*-------------------- Form ---------------------*/ .ui.form { position: relative; max-width: 100%; } /*-------------------- Content ---------------------*/ .ui.form > p { margin: 1em 0em; } /*-------------------- Field ---------------------*/ .ui.form .field { clear: both; margin: 0em 0em 1em; } .ui.form .field:last-child, .ui.form .fields:last-child .field { margin-bottom: 0em; } .ui.form .fields .field { clear: both; margin: 0em 0em 1em; } /*-------------------- Labels ---------------------*/ .ui.form .field > label { display: block; margin: 0em 0em 0.28571429rem 0em; color: rgba(0, 0, 0, 0.87); font-size: 0.92857143em; font-weight: bold; text-transform: none; } /*-------------------- Standard Inputs ---------------------*/ .ui.form textarea, .ui.form input:not([type]), .ui.form input[type="date"], .ui.form input[type="datetime-local"], .ui.form input[type="email"], .ui.form input[type="number"], .ui.form input[type="password"], .ui.form input[type="search"], .ui.form input[type="tel"], .ui.form input[type="time"], .ui.form input[type="text"], .ui.form input[type="url"] { width: 100%; vertical-align: top; } /* Set max height on unusual input */ .ui.form ::-webkit-datetime-edit, .ui.form ::-webkit-inner-spin-button { height: 1.2142em; } .ui.form input:not([type]), .ui.form input[type="date"], .ui.form input[type="datetime-local"], .ui.form input[type="email"], .ui.form input[type="number"], .ui.form input[type="password"], .ui.form input[type="search"], .ui.form input[type="tel"], .ui.form input[type="time"], .ui.form input[type="text"], .ui.form input[type="url"] { font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; margin: 0em; outline: none; -webkit-appearance: none; tap-highlight-color: rgba(255, 255, 255, 0); line-height: 1.2142em; padding: 0.67861429em 1em; font-size: 1em; background: #FFFFFF; border: 1px solid rgba(34, 36, 38, 0.15); color: rgba(0, 0, 0, 0.87); border-radius: 0.28571429rem; box-shadow: 0em 0em 0em 0em transparent inset; -webkit-transition: color 0.1s ease, border-color 0.1s ease; transition: color 0.1s ease, border-color 0.1s ease; } /* Text Area */ .ui.form textarea { margin: 0em; -webkit-appearance: none; tap-highlight-color: rgba(255, 255, 255, 0); padding: 0.78571429em 1em; background: #FFFFFF; border: 1px solid rgba(34, 36, 38, 0.15); outline: none; color: rgba(0, 0, 0, 0.87); border-radius: 0.28571429rem; box-shadow: 0em 0em 0em 0em transparent inset; -webkit-transition: color 0.1s ease, border-color 0.1s ease; transition: color 0.1s ease, border-color 0.1s ease; font-size: 1em; line-height: 1.2857; resize: vertical; } .ui.form textarea:not([rows]) { height: 12em; min-height: 8em; max-height: 24em; } .ui.form textarea, .ui.form input[type="checkbox"] { vertical-align: top; } /*-------------------------- Input w/ attached Button ---------------------------*/ .ui.form input.attached { width: auto; } /*-------------------- Basic Select ---------------------*/ .ui.form select { display: block; height: auto; width: 100%; background: #FFFFFF; border: 1px solid rgba(34, 36, 38, 0.15); border-radius: 0.28571429rem; box-shadow: 0em 0em 0em 0em transparent inset; padding: 0.62em 1em; color: rgba(0, 0, 0, 0.87); -webkit-transition: color 0.1s ease, border-color 0.1s ease; transition: color 0.1s ease, border-color 0.1s ease; } /*-------------------- Dropdown ---------------------*/ /* Block */ .ui.form .field > .selection.dropdown { width: 100%; } .ui.form .field > .selection.dropdown > .dropdown.icon { float: right; } /* Inline */ .ui.form .inline.fields .field > .selection.dropdown, .ui.form .inline.field > .selection.dropdown { width: auto; } .ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon, .ui.form .inline.field > .selection.dropdown > .dropdown.icon { float: none; } /*-------------------- UI Input ---------------------*/ /* Block */ .ui.form .field .ui.input, .ui.form .fields .field .ui.input, .ui.form .wide.field .ui.input { width: 100%; } /* Inline */ .ui.form .inline.fields .field:not(.wide) .ui.input, .ui.form .inline.field:not(.wide) .ui.input { width: auto; vertical-align: middle; } /* Auto Input */ .ui.form .fields .field .ui.input input, .ui.form .field .ui.input input { width: auto; } /* Full Width Input */ .ui.form .ten.fields .ui.input input, .ui.form .nine.fields .ui.input input, .ui.form .eight.fields .ui.input input, .ui.form .seven.fields .ui.input input, .ui.form .six.fields .ui.input input, .ui.form .five.fields .ui.input input, .ui.form .four.fields .ui.input input, .ui.form .three.fields .ui.input input, .ui.form .two.fields .ui.input input, .ui.form .wide.field .ui.input input { -webkit-box-flex: 1; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; width: 0px; } /*-------------------- Types of Messages ---------------------*/ .ui.form .success.message, .ui.form .warning.message, .ui.form .error.message { display: none; } /* Assumptions */ .ui.form .message:first-child { margin-top: 0px; } /*-------------------- Validation Prompt ---------------------*/ .ui.form .field .prompt.label { white-space: normal; background: #FFFFFF !important; border: 1px solid #E0B4B4 !important; color: #9F3A38 !important; } .ui.form .inline.fields .field .prompt, .ui.form .inline.field .prompt { vertical-align: top; margin: -0.25em 0em -0.5em 0.5em; } .ui.form .inline.fields .field .prompt:before, .ui.form .inline.field .prompt:before { border-width: 0px 0px 1px 1px; bottom: auto; right: auto; top: 50%; left: 0em; } /******************************* States *******************************/ /*-------------------- Autofilled ---------------------*/ .ui.form .field.field input:-webkit-autofill { box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important; border-color: #E5DFA1 !important; } /* Focus */ .ui.form .field.field input:-webkit-autofill:focus { box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important; border-color: #D5C315 !important; } /* Error */ .ui.form .error.error input:-webkit-autofill { box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important; border-color: #E0B4B4 !important; } /*-------------------- Placeholder ---------------------*/ /* browsers require these rules separate */ .ui.form ::-webkit-input-placeholder { color: rgba(140, 140, 140, 0.87); } .ui.form ::-ms-input-placeholder { color: rgba(140, 140, 140, 0.87); } .ui.form ::-moz-placeholder { color: rgba(140, 140, 140, 0.87); } .ui.form :focus::-webkit-input-placeholder { color: rgba(89, 89, 89, 0.87); } .ui.form :focus::-ms-input-placeholder { color: rgba(89, 89, 89, 0.87); } .ui.form :focus::-moz-placeholder { color: rgba(89, 89, 89, 0.87); } /* Error Placeholder */ .ui.form .error ::-webkit-input-placeholder { color: #e7bdbc; } .ui.form .error ::-ms-input-placeholder { color: #e7bdbc; } .ui.form .error ::-moz-placeholder { color: #e7bdbc; } .ui.form .error :focus::-webkit-input-placeholder { color: #da9796; } .ui.form .error :focus::-ms-input-placeholder { color: #da9796; } .ui.form .error :focus::-moz-placeholder { color: #da9796; } /*-------------------- Focus ---------------------*/ .ui.form input:not([type]):focus, .ui.form input[type="date"]:focus, .ui.form input[type="datetime-local"]:focus, .ui.form input[type="email"]:focus, .ui.form input[type="number"]:focus, .ui.form input[type="password"]:focus, .ui.form input[type="search"]:focus, .ui.form input[type="tel"]:focus, .ui.form input[type="time"]:focus, .ui.form input[type="text"]:focus, .ui.form input[type="url"]:focus { color: rgba(0, 0, 0, 0.95); border-color: #85B7D9; border-radius: 0.28571429rem; background: #FFFFFF; box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset; } .ui.form textarea:focus { color: rgba(0, 0, 0, 0.95); border-color: #85B7D9; border-radius: 0.28571429rem; background: #FFFFFF; box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset; -webkit-appearance: none; } /*-------------------- Success ---------------------*/ /* On Form */ .ui.form.success .success.message:not(:empty) { display: block; } .ui.form.success .icon.success.message:not(:empty) { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } /*-------------------- Warning ---------------------*/ /* On Form */ .ui.form.warning .warning.message:not(:empty) { display: block; } .ui.form.warning .icon.warning.message:not(:empty) { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } /*-------------------- Error ---------------------*/ /* On Form */ .ui.form.error .error.message:not(:empty) { display: block; } .ui.form.error .icon.error.message:not(:empty) { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } /* On Field(s) */ .ui.form .fields.error .field label, .ui.form .field.error label, .ui.form .fields.error .field .input, .ui.form .field.error .input { color: #9F3A38; } .ui.form .fields.error .field .corner.label, .ui.form .field.error .corner.label { border-color: #9F3A38; color: #FFFFFF; } .ui.form .fields.error .field textarea, .ui.form .fields.error .field select, .ui.form .fields.error .field input:not([type]), .ui.form .fields.error .field input[type="date"], .ui.form .fields.error .field input[type="datetime-local"], .ui.form .fields.error .field input[type="email"], .ui.form .fields.error .field input[type="number"], .ui.form .fields.error .field input[type="password"], .ui.form .fields.error .field input[type="search"], .ui.form .fields.error .field input[type="tel"], .ui.form .fields.error .field input[type="time"], .ui.form .fields.error .field input[type="text"], .ui.form .fields.error .field input[type="url"], .ui.form .field.error textarea, .ui.form .field.error select, .ui.form .field.error input:not([type]), .ui.form .field.error input[type="date"], .ui.form .field.error input[type="datetime-local"], .ui.form .field.error input[type="email"], .ui.form .field.error input[type="number"], .ui.form .field.error input[type="password"], .ui.form .field.error input[type="search"], .ui.form .field.error input[type="tel"], .ui.form .field.error input[type="time"], .ui.form .field.error input[type="text"], .ui.form .field.error input[type="url"] { background: #FFF6F6; border-color: #E0B4B4; color: #9F3A38; border-radius: ''; box-shadow: none; } .ui.form .field.error textarea:focus, .ui.form .field.error select:focus, .ui.form .field.error input:not([type]):focus, .ui.form .field.error input[type="date"]:focus, .ui.form .field.error input[type="datetime-local"]:focus, .ui.form .field.error input[type="email"]:focus, .ui.form .field.error input[type="number"]:focus, .ui.form .field.error input[type="password"]:focus, .ui.form .field.error input[type="search"]:focus, .ui.form .field.error input[type="tel"]:focus, .ui.form .field.error input[type="time"]:focus, .ui.form .field.error input[type="text"]:focus, .ui.form .field.error input[type="url"]:focus { background: #FFF6F6; border-color: #E0B4B4; color: #9F3A38; -webkit-appearance: none; box-shadow: none; } /* Preserve Native Select Stylings */ .ui.form .field.error select { -webkit-appearance: menulist-button; } /*------------------ Dropdown Error --------------------*/ .ui.form .fields.error .field .ui.dropdown, .ui.form .fields.error .field .ui.dropdown .item, .ui.form .field.error .ui.dropdown, .ui.form .field.error .ui.dropdown .text, .ui.form .field.error .ui.dropdown .item { background: #FFF6F6; color: #9F3A38; } .ui.form .fields.error .field .ui.dropdown, .ui.form .field.error .ui.dropdown { border-color: #E0B4B4 !important; } .ui.form .fields.error .field .ui.dropdown:hover, .ui.form .field.error .ui.dropdown:hover { border-color: #E0B4B4 !important; } .ui.form .fields.error .field .ui.dropdown:hover .menu, .ui.form .field.error .ui.dropdown:hover .menu { border-color: #E0B4B4; } .ui.form .fields.error .field .ui.multiple.selection.dropdown > .label, .ui.form .field.error .ui.multiple.selection.dropdown > .label { background-color: #EACBCB; color: #9F3A38; } /* Hover */ .ui.form .fields.error .field .ui.dropdown .menu .item:hover, .ui.form .field.error .ui.dropdown .menu .item:hover { background-color: #FBE7E7; } /* Selected */ .ui.form .fields.error .field .ui.dropdown .menu .selected.item, .ui.form .field.error .ui.dropdown .menu .selected.item { background-color: #FBE7E7; } /* Active */ .ui.form .fields.error .field .ui.dropdown .menu .active.item, .ui.form .field.error .ui.dropdown .menu .active.item { background-color: #FDCFCF !important; } /*-------------------- Checkbox Error ---------------------*/ .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, .ui.form .field.error .checkbox:not(.toggle):not(.slider) .box { color: #9F3A38; } .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before, .ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before { background: #FFF6F6; border-color: #E0B4B4; } .ui.form .fields.error .field .checkbox label:after, .ui.form .field.error .checkbox label:after, .ui.form .fields.error .field .checkbox .box:after, .ui.form .field.error .checkbox .box:after { color: #9F3A38; } /*-------------------- Disabled ---------------------*/ .ui.form .disabled.fields .field, .ui.form .disabled.field, .ui.form .field :disabled { pointer-events: none; opacity: 0.45; } .ui.form .field.disabled label { opacity: 0.45; } .ui.form .field.disabled :disabled { opacity: 1; } /*-------------- Loading ---------------*/ .ui.loading.form { position: relative; cursor: default; point-events: none; } .ui.loading.form:before { position: absolute; content: ''; top: 0%; left: 0%; background: rgba(255, 255, 255, 0.8); width: 100%; height: 100%; z-index: 100; } .ui.loading.form:after { position: absolute; content: ''; top: 50%; left: 50%; margin: -1.5em 0em 0em -1.5em; width: 3em; height: 3em; -webkit-animation: form-spin 0.6s linear; animation: form-spin 0.6s linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; border-radius: 500rem; border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1); border-style: solid; border-width: 0.2em; box-shadow: 0px 0px 0px 1px transparent; visibility: visible; z-index: 101; } @-webkit-keyframes form-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes form-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /******************************* Element Types *******************************/ /*-------------------- Required Field ---------------------*/ .ui.form .required.fields:not(.grouped) > .field > label:after, .ui.form .required.fields.grouped > label:after, .ui.form .required.field > label:after, .ui.form .required.fields:not(.grouped) > .field > .checkbox:after, .ui.form .required.field > .checkbox:after { margin: -0.2em 0em 0em 0.2em; content: '*'; color: #DB2828; } .ui.form .required.fields:not(.grouped) > .field > label:after, .ui.form .required.fields.grouped > label:after, .ui.form .required.field > label:after { display: inline-block; vertical-align: top; } .ui.form .required.fields:not(.grouped) > .field > .checkbox:after, .ui.form .required.field > .checkbox:after { position: absolute; top: 0%; left: 100%; } /******************************* Variations *******************************/ /*-------------------- Inverted Colors ---------------------*/ .ui.inverted.form label, .ui.form .inverted.segment label, .ui.form .inverted.segment .ui.checkbox label, .ui.form .inverted.segment .ui.checkbox .box, .ui.inverted.form .ui.checkbox label, .ui.inverted.form .ui.checkbox .box { color: rgba(255, 255, 255, 0.9); } /* Inverted Field */ .ui.inverted.form input:not([type]), .ui.inverted.form input[type="date"], .ui.inverted.form input[type="datetime-local"], .ui.inverted.form input[type="email"], .ui.inverted.form input[type="number"], .ui.inverted.form input[type="password"], .ui.inverted.form input[type="search"], .ui.inverted.form input[type="tel"], .ui.inverted.form input[type="time"], .ui.inverted.form input[type="text"], .ui.inverted.form input[type="url"] { background: #FFFFFF; border-color: rgba(255, 255, 255, 0.1); color: rgba(0, 0, 0, 0.87); box-shadow: none; } /*-------------------- Field Groups ---------------------*/ /* Grouped Vertically */ .ui.form .grouped.fields { display: block; margin: 0em 0em 1em; } .ui.form .grouped.fields:last-child { margin-bottom: 0em; } .ui.form .grouped.fields > label { margin: 0em 0em 0.28571429rem 0em; color: rgba(0, 0, 0, 0.87); font-size: 0.92857143em; font-weight: bold; text-transform: none; } .ui.form .grouped.fields .field, .ui.form .grouped.inline.fields .field { display: block; margin: 0.5em 0em; padding: 0em; } /*-------------------- Fields ---------------------*/ /* Split fields */ .ui.form .fields { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ui.form .fields > .field { -webkit-box-flex: 0; -webkit-flex: 0 1 auto; -ms-flex: 0 1 auto; flex: 0 1 auto; padding-left: 0.5em; padding-right: 0.5em; } .ui.form .fields > .field:first-child { border-left: none; box-shadow: none; } /* Other Combinations */ .ui.form .two.fields > .fields, .ui.form .two.fields > .field { width: 50%; } .ui.form .three.fields > .fields, .ui.form .three.fields > .field { width: 33.33333333%; } .ui.form .four.fields > .fields, .ui.form .four.fields > .field { width: 25%; } .ui.form .five.fields > .fields, .ui.form .five.fields > .field { width: 20%; } .ui.form .six.fields > .fields, .ui.form .six.fields > .field { width: 16.66666667%; } .ui.form .seven.fields > .fields, .ui.form .seven.fields > .field { width: 14.28571429%; } .ui.form .eight.fields > .fields, .ui.form .eight.fields > .field { width: 12.5%; } .ui.form .nine.fields > .fields, .ui.form .nine.fields > .field { width: 11.11111111%; } .ui.form .ten.fields > .fields, .ui.form .ten.fields > .field { width: 10%; } /* Swap to full width on mobile */ @media only screen and (max-width: 767px) { .ui.form .fields { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } .ui.form .two.fields > .fields, .ui.form .two.fields > .field, .ui.form .three.fields > .fields, .ui.form .three.fields > .field, .ui.form .four.fields > .fields, .ui.form .four.fields > .field, .ui.form .five.fields > .fields, .ui.form .five.fields > .field, .ui.form .six.fields > .fields, .ui.form .six.fields > .field, .ui.form .seven.fields > .fields, .ui.form .seven.fields > .field, .ui.form .eight.fields > .fields, .ui.form .eight.fields > .field, .ui.form .nine.fields > .fields, .ui.form .nine.fields > .field, .ui.form .ten.fields > .fields, .ui.form .ten.fields > .field { width: 100% !important; margin: 0em 0em 1em; padding-left: 0%; padding-right: 0%; } } .ui.form .fields .field:first-child { padding-left: 0%; } .ui.form .fields .field:last-child { padding-right: 0%; } /* Sizing Combinations */ .ui.form .fields .wide.field { width: 6.25%; padding-left: 0.5em; padding-right: 0.5em; } .ui.form .fields .wide.field:first-child { padding-left: 0%; } .ui.form .fields .wide.field:last-child { padding-right: 0%; } .ui.form .one.wide.field { width: 6.25% !important; } .ui.form .two.wide.field { width: 12.5% !important; } .ui.form .three.wide.field { width: 18.75% !important; } .ui.form .four.wide.field { width: 25% !important; } .ui.form .five.wide.field { width: 31.25% !important; } .ui.form .six.wide.field { width: 37.5% !important; } .ui.form .seven.wide.field { width: 43.75% !important; } .ui.form .eight.wide.field { width: 50% !important; } .ui.form .nine.wide.field { width: 56.25% !important; } .ui.form .ten.wide.field { width: 62.5% !important; } .ui.form .eleven.wide.field { width: 68.75% !important; } .ui.form .twelve.wide.field { width: 75% !important; } .ui.form .thirteen.wide.field { width: 81.25% !important; } .ui.form .fourteen.wide.field { width: 87.5% !important; } .ui.form .fifteen.wide.field { width: 93.75% !important; } .ui.form .sixteen.wide.field { width: 100% !important; } /* Swap to full width on mobile */ @media only screen and (max-width: 767px) { .ui.form .two.fields > .fields, .ui.form .two.fields > .field, .ui.form .three.fields > .fields, .ui.form .three.fields > .field, .ui.form .four.fields > .fields, .ui.form .four.fields > .field, .ui.form .five.fields > .fields, .ui.form .five.fields > .field, .ui.form .fields > .two.wide.field, .ui.form .fields > .three.wide.field, .ui.form .fields > .four.wide.field, .ui.form .fields > .five.wide.field, .ui.form .fields > .six.wide.field, .ui.form .fields > .seven.wide.field, .ui.form .fields > .eight.wide.field, .ui.form .fields > .nine.wide.field, .ui.form .fields > .ten.wide.field, .ui.form .fields > .eleven.wide.field, .ui.form .fields > .twelve.wide.field, .ui.form .fields > .thirteen.wide.field, .ui.form .fields > .fourteen.wide.field, .ui.form .fields > .fifteen.wide.field, .ui.form .fields > .sixteen.wide.field { width: 100% !important; margin: 0em 0em 1em; padding-left: 0%; padding-right: 0%; } } /*-------------------- Equal Width ---------------------*/ .ui[class*="equal width"].form .fields > .field, .ui.form [class*="equal width"].fields > .field { width: 100%; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; } /*-------------------- Inline Fields ---------------------*/ .ui.form .inline.fields { margin: 0em 0em 1em; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ui.form .inline.fields .field { margin: 0em; padding: 0em 1em 0em 0em; } /* Inline Label */ .ui.form .inline.fields > label, .ui.form .inline.fields .field > label, .ui.form .inline.fields .field > p, .ui.form .inline.field > label, .ui.form .inline.field > p { display: inline-block; width: auto; margin-top: 0em; margin-bottom: 0em; vertical-align: baseline; font-size: 0.92857143em; font-weight: bold; color: rgba(0, 0, 0, 0.87); text-transform: none; } /* Grouped Inline Label */ .ui.form .inline.fields > label { margin: 0.035714em 1em 0em 0em; } /* Inline Input */ .ui.form .inline.fields .field > input, .ui.form .inline.fields .field > select, .ui.form .inline.field > input, .ui.form .inline.field > select { display: inline-block; width: auto; margin-top: 0em; margin-bottom: 0em; vertical-align: middle; font-size: 1em; } /* Label */ .ui.form .inline.fields .field > :first-child, .ui.form .inline.field > :first-child { margin: 0em 0.85714286em 0em 0em; } .ui.form .inline.fields .field > :only-child, .ui.form .inline.field > :only-child { margin: 0em; } /* Wide */ .ui.form .inline.fields .wide.field { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ui.form .inline.fields .wide.field > input, .ui.form .inline.fields .wide.field > select { width: 100%; } /*-------------------- Sizes ---------------------*/ /* Standard */ .ui.small.form { font-size: 0.92857143rem; } /* Medium */ .ui.form { font-size: 1rem; } /* Large */ .ui.large.form { font-size: 1.14285714rem; } /* Huge */ .ui.huge.form { font-size: 1.42857143rem; } /******************************* Theme Overrides *******************************/ /******************************* Site Overrides *******************************/ </style> <style> /*! * # Semantic UI 2.1.7 - Button * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Button *******************************/ .ui.button { cursor: pointer; display: inline-block; min-height: 1em; outline: none; border: none; vertical-align: baseline; background: #E0E1E2 none; color: rgba(0, 0, 0, 0.6); font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; margin: 0em 0.25em 0em 0em; padding: 0.78571429em 1.5em 0.78571429em; text-transform: none; text-shadow: none; font-weight: bold; line-height: 1em; font-style: normal; text-align: center; text-decoration: none; border-radius: 0.28571429rem; box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease; transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease; will-change: ''; -webkit-tap-highlight-color: transparent; } /******************************* States *******************************/ /*-------------- Hover ---------------*/ .ui.button:hover { background-color: #CACBCD; background-image: none; box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; color: rgba(0, 0, 0, 0.8); } .ui.button:hover .icon { opacity: 0.85; } /*-------------- Focus ---------------*/ .ui.button:focus { background-color: #CACBCD; color: rgba(0, 0, 0, 0.8); background-image: '' !important; box-shadow: '' !important; } .ui.button:focus .icon { opacity: 0.85; } /*-------------- Down ---------------*/ .ui.button:active, .ui.active.button:active { background-color: #BABBBC; background-image: ''; color: rgba(0, 0, 0, 0.9); box-shadow: 0px 0px 0px 1px transparent inset, none; } /*-------------- Active ---------------*/ .ui.active.button { background-color: #C0C1C2; background-image: none; box-shadow: 0px 0px 0px 1px transparent inset; color: rgba(0, 0, 0, 0.95); } .ui.active.button:hover { background-color: #C0C1C2; background-image: none; color: rgba(0, 0, 0, 0.95); } .ui.active.button:active { background-color: #C0C1C2; background-image: none; } /*-------------- Loading ---------------*/ /* Specificity hack */ .ui.loading.loading.loading.loading.loading.loading.button { position: relative; cursor: default; text-shadow: none !important; color: transparent !important; opacity: 1; pointer-events: auto; -webkit-transition: all 0s linear, opacity 0.1s ease; transition: all 0s linear, opacity 0.1s ease; } .ui.loading.button:before { position: absolute; content: ''; top: 50%; left: 50%; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; border-radius: 500rem; border: 0.2em solid rgba(0, 0, 0, 0.15); } .ui.loading.button:after { position: absolute; content: ''; top: 50%; left: 50%; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; -webkit-animation: button-spin 0.6s linear; animation: button-spin 0.6s linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; border-radius: 500rem; border-color: #FFFFFF transparent transparent; border-style: solid; border-width: 0.2em; box-shadow: 0px 0px 0px 1px transparent; } .ui.labeled.icon.loading.button .icon { background-color: transparent; box-shadow: none; } @-webkit-keyframes button-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes button-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .ui.basic.loading.button:not(.inverted):before { border-color: rgba(0, 0, 0, 0.1); } .ui.basic.loading.button:not(.inverted):after { border-top-color: #767676; } /*------------------- Disabled --------------------*/ .ui.buttons .disabled.button, .ui.disabled.button, .ui.button:disabled, .ui.disabled.button:hover, .ui.disabled.active.button { cursor: default; opacity: 0.45 !important; background-image: none !important; box-shadow: none !important; pointer-events: none; } /* Basic Group With Disabled */ .ui.basic.buttons .ui.disabled.button { border-color: rgba(34, 36, 38, 0.5); } /******************************* Types *******************************/ /*------------------- Animated --------------------*/ .ui.animated.button { position: relative; overflow: hidden; padding-right: 0em !important; vertical-align: middle; z-index: 1; } .ui.animated.button .content { will-change: transform, opacity; } .ui.animated.button .visible.content { position: relative; margin-right: 1.5em; } .ui.animated.button .hidden.content { position: absolute; width: 100%; } /* Horizontal */ .ui.animated.button .visible.content, .ui.animated.button .hidden.content { -webkit-transition: right 0.3s ease 0s; transition: right 0.3s ease 0s; } .ui.animated.button .visible.content { left: auto; right: 0%; } .ui.animated.button .hidden.content { top: 50%; left: auto; right: -100%; margin-top: -0.5em; } .ui.animated.button:focus .visible.content, .ui.animated.button:hover .visible.content { left: auto; right: 200%; } .ui.animated.button:focus .hidden.content, .ui.animated.button:hover .hidden.content { left: auto; right: 0%; } /* Vertical */ .ui.vertical.animated.button .visible.content, .ui.vertical.animated.button .hidden.content { -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease; transition: top 0.3s ease, -webkit-transform 0.3s ease; transition: top 0.3s ease, transform 0.3s ease; transition: top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease; } .ui.vertical.animated.button .visible.content { -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); right: auto; } .ui.vertical.animated.button .hidden.content { top: -50%; left: 0%; right: auto; } .ui.vertical.animated.button:focus .visible.content, .ui.vertical.animated.button:hover .visible.content { -webkit-transform: translateY(200%); -ms-transform: translateY(200%); transform: translateY(200%); right: auto; } .ui.vertical.animated.button:focus .hidden.content, .ui.vertical.animated.button:hover .hidden.content { top: 50%; right: auto; } /* Fade */ .ui.fade.animated.button .visible.content, .ui.fade.animated.button .hidden.content { -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; transition: opacity 0.3s ease, -webkit-transform 0.3s ease; transition: opacity 0.3s ease, transform 0.3s ease; transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease; } .ui.fade.animated.button .visible.content { left: auto; right: auto; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } .ui.fade.animated.button .hidden.content { opacity: 0; left: 0%; right: auto; -webkit-transform: scale(1.5); -ms-transform: scale(1.5); transform: scale(1.5); } .ui.fade.animated.button:focus .visible.content, .ui.fade.animated.button:hover .visible.content { left: auto; right: auto; opacity: 0; -webkit-transform: scale(0.75); -ms-transform: scale(0.75); transform: scale(0.75); } .ui.fade.animated.button:focus .hidden.content, .ui.fade.animated.button:hover .hidden.content { left: 0%; right: auto; opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } /*------------------- Inverted --------------------*/ .ui.inverted.button { box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; background: transparent none; color: #FFFFFF; text-shadow: none !important; } /* Group */ .ui.inverted.buttons .button { margin: 0px 0px 0px -2px; } .ui.inverted.buttons .button:first-child { margin-left: 0em; } .ui.inverted.vertical.buttons .button { margin: 0px 0px -2px 0px; } .ui.inverted.vertical.buttons .button:first-child { margin-top: 0em; } /* States */ /* Hover */ .ui.inverted.button:hover { background: #FFFFFF; box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; color: rgba(0, 0, 0, 0.8); } /* Active / Focus */ .ui.inverted.button:focus, .ui.inverted.button.active { background: #FFFFFF; box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; color: rgba(0, 0, 0, 0.8); } /* Active Focus */ .ui.inverted.button.active:focus { background: #DCDDDE; box-shadow: 0px 0px 0px 2px #DCDDDE inset !important; color: rgba(0, 0, 0, 0.8); } /*------------------- Labeled Button --------------------*/ .ui.labeled.button:not(.icon) { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; background: none !important; padding: 0px !important; border: none !important; box-shadow: none !important; } .ui.labeled.button > .button { margin: 0px; } .ui.labeled.button > .label { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0px 0px 0px -1px !important; padding: ''; font-size: 1em; border-color: rgba(34, 36, 38, 0.15); } /* Tag */ .ui.labeled.button > .tag.label:before { width: 1.85em; height: 1.85em; } /* Right */ .ui.labeled.button:not([class*="left labeled"]) > .button { border-top-right-radius: 0px; border-bottom-right-radius: 0px; } .ui.labeled.button:not([class*="left labeled"]) > .label { border-top-left-radius: 0px; border-bottom-left-radius: 0px; } /* Left Side */ .ui[class*="left labeled"].button > .button { border-top-left-radius: 0px; border-bottom-left-radius: 0px; } .ui[class*="left labeled"].button > .label { border-top-right-radius: 0px; border-bottom-right-radius: 0px; } /*------------------- Social --------------------*/ /* Facebook */ .ui.facebook.button { background-color: #3B5998; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.facebook.button:hover { background-color: #304d8a; color: #FFFFFF; text-shadow: none; } .ui.facebook.button:active { background-color: #2d4373; color: #FFFFFF; text-shadow: none; } /* Twitter */ .ui.twitter.button { background-color: #0084B4; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.twitter.button:hover { background-color: #00719b; color: #FFFFFF; text-shadow: none; } .ui.twitter.button:active { background-color: #005f81; color: #FFFFFF; text-shadow: none; } /* Google Plus */ .ui.google.plus.button { background-color: #DC4A38; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.google.plus.button:hover { background-color: #de321d; color: #FFFFFF; text-shadow: none; } .ui.google.plus.button:active { background-color: #bf3322; color: #FFFFFF; text-shadow: none; } /* Linked In */ .ui.linkedin.button { background-color: #1F88BE; color: #FFFFFF; text-shadow: none; } .ui.linkedin.button:hover { background-color: #147baf; color: #FFFFFF; text-shadow: none; } .ui.linkedin.button:active { background-color: #186992; color: #FFFFFF; text-shadow: none; } /* YouTube */ .ui.youtube.button { background-color: #CC181E; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.youtube.button:hover { background-color: #bd0d13; color: #FFFFFF; text-shadow: none; } .ui.youtube.button:active { background-color: #9e1317; color: #FFFFFF; text-shadow: none; } /* Instagram */ .ui.instagram.button { background-color: #49769C; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.instagram.button:hover { background-color: #3d698e; color: #FFFFFF; text-shadow: none; } .ui.instagram.button:active { background-color: #395c79; color: #FFFFFF; text-shadow: none; } /* Pinterest */ .ui.pinterest.button { background-color: #00ACED; color: #FFFFFF; text-shadow: none; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.pinterest.button:hover { background-color: #0099d4; color: #FFFFFF; text-shadow: none; } .ui.pinterest.button:active { background-color: #0087ba; color: #FFFFFF; text-shadow: none; } /* VK */ .ui.vk.button { background-color: #4D7198; color: #FFFFFF; background-image: none; box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.vk.button:hover { background-color: #41648a; color: #FFFFFF; } .ui.vk.button:active { background-color: #3c5876; color: #FFFFFF; } /*-------------- Icon ---------------*/ .ui.button > .icon:not(.button) { height: 0.85714286em; opacity: 0.8; margin: 0em 0.42857143em 0em -0.21428571em; -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; vertical-align: ''; color: ''; } .ui.button > .right.icon:not(.button) { margin: 0em -0.21428571em 0em 0.42857143em; } /******************************* Variations *******************************/ /*------------------- Floated --------------------*/ .ui[class*="left floated"].buttons, .ui[class*="left floated"].button { float: left; margin-left: 0em; margin-right: 0.25em; } .ui[class*="right floated"].buttons, .ui[class*="right floated"].button { float: right; margin-right: 0em; margin-left: 0.25em; } /*------------------- Compact --------------------*/ .ui.compact.buttons .button, .ui.compact.button { padding: 0.58928571em 1.125em 0.58928571em; } .ui.compact.icon.buttons .button, .ui.compact.icon.button { padding: 0.58928571em 0.58928571em 0.58928571em; } .ui.compact.labeled.icon.buttons .button, .ui.compact.labeled.icon.button { padding: 0.58928571em 3.69642857em 0.58928571em; } /*------------------- Sizes --------------------*/ .ui.mini.buttons .button, .ui.mini.buttons .or, .ui.mini.button { font-size: 0.71428571rem; } .ui.tiny.buttons .button, .ui.tiny.buttons .or, .ui.tiny.button { font-size: 0.85714286rem; } .ui.small.buttons .button, .ui.small.buttons .or, .ui.small.button { font-size: 0.92857143rem; } .ui.buttons .button, .ui.buttons .or, .ui.button { font-size: 1rem; } .ui.large.buttons .button, .ui.large.buttons .or, .ui.large.button { font-size: 1.14285714rem; } .ui.big.buttons .button, .ui.big.buttons .or, .ui.big.button { font-size: 1.28571429rem; } .ui.huge.buttons .button, .ui.huge.buttons .or, .ui.huge.button { font-size: 1.42857143rem; } .ui.massive.buttons .button, .ui.massive.buttons .or, .ui.massive.button { font-size: 1.71428571rem; } /*-------------- Icon Only ---------------*/ .ui.icon.buttons .button, .ui.icon.button { padding: 0.78571429em 0.78571429em 0.78571429em; } .ui.icon.buttons .button > .icon, .ui.icon.button > .icon { opacity: 0.9; margin: 0em; vertical-align: top; } /*------------------- Basic --------------------*/ .ui.basic.buttons .button, .ui.basic.button { background: transparent none !important; color: rgba(0, 0, 0, 0.6) !important; font-weight: normal; border-radius: 0.28571429rem; text-transform: none; text-shadow: none !important; box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons { box-shadow: none; border: 1px solid rgba(34, 36, 38, 0.15); border-radius: 0.28571429rem; } .ui.basic.buttons .button { border-radius: 0em; } .ui.basic.buttons .button:hover, .ui.basic.button:hover { background: #FFFFFF !important; color: rgba(0, 0, 0, 0.8) !important; box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .button:focus, .ui.basic.button:focus { background: #FFFFFF !important; color: rgba(0, 0, 0, 0.8) !important; box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .button:active, .ui.basic.button:active { background: #F8F8F8 !important; color: rgba(0, 0, 0, 0.9) !important; box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .active.button, .ui.basic.active.button { background: rgba(0, 0, 0, 0.05) !important; box-shadow: '' !important; color: rgba(0, 0, 0, 0.95); box-shadow: rgba(34, 36, 38, 0.35); } .ui.basic.buttons .active.button:hover, .ui.basic.active.button:hover { background-color: rgba(0, 0, 0, 0.05); } /* Vertical */ .ui.basic.buttons .button:hover { box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset; } .ui.basic.buttons .button:active { box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset; } .ui.basic.buttons .active.button { box-shadow: rgba(34, 36, 38, 0.35) inset; } /* Standard Basic Inverted */ .ui.basic.inverted.buttons .button, .ui.basic.inverted.button { background-color: transparent !important; color: #F9FAFB !important; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; } .ui.basic.inverted.buttons .button:hover, .ui.basic.inverted.button:hover { color: #FFFFFF !important; box-shadow: 0px 0px 0px 2px #ffffff inset !important; } .ui.basic.inverted.buttons .button:focus, .ui.basic.inverted.button:focus { color: #FFFFFF !important; box-shadow: 0px 0px 0px 2px #ffffff inset !important; } .ui.basic.inverted.buttons .button:active, .ui.basic.inverted.button:active { background-color: rgba(255, 255, 255, 0.08) !important; color: #FFFFFF !important; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important; } .ui.basic.inverted.buttons .active.button, .ui.basic.inverted.active.button { background-color: rgba(255, 255, 255, 0.08); color: #FFFFFF; text-shadow: none; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset; } .ui.basic.inverted.buttons .active.button:hover, .ui.basic.inverted.active.button:hover { background-color: rgba(255, 255, 255, 0.15); box-shadow: 0px 0px 0px 2px #ffffff inset !important; } /* Basic Group */ .ui.basic.buttons .button { border-left: 1px solid rgba(34, 36, 38, 0.15); box-shadow: none; } .ui.basic.vertical.buttons .button { border-left: none; } .ui.basic.vertical.buttons .button { border-left-width: 0px; border-top: 1px solid rgba(34, 36, 38, 0.15); } .ui.basic.vertical.buttons .button:first-child { border-top-width: 0px; } /*-------------- Labeled Icon ---------------*/ .ui.labeled.icon.buttons .button, .ui.labeled.icon.button { position: relative; padding-left: 4.07142857em !important; padding-right: 1.5em !important; } /* Left Labeled */ .ui.labeled.icon.buttons > .button > .icon, .ui.labeled.icon.button > .icon { position: absolute; height: 100%; line-height: 1; border-radius: 0px; border-top-left-radius: inherit; border-bottom-left-radius: inherit; text-align: center; margin: 0em; width: 2.57142857em; background-color: rgba(0, 0, 0, 0.05); color: ''; box-shadow: -1px 0px 0px 0px transparent inset; } /* Left Labeled */ .ui.labeled.icon.buttons > .button > .icon, .ui.labeled.icon.button > .icon { top: 0em; left: 0em; } /* Right Labeled */ .ui[class*="right labeled"].icon.button { padding-right: 4.07142857em !important; padding-left: 1.5em !important; } .ui[class*="right labeled"].icon.button > .icon { left: auto; right: 0em; border-radius: 0px; border-top-right-radius: inherit; border-bottom-right-radius: inherit; box-shadow: 1px 0px 0px 0px transparent inset; } .ui.labeled.icon.buttons > .button > .icon:before, .ui.labeled.icon.button > .icon:before, .ui.labeled.icon.buttons > .button > .icon:after, .ui.labeled.icon.button > .icon:after { display: block; position: absolute; width: 100%; top: 50%; text-align: center; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } .ui.labeled.icon.buttons .button > .icon { border-radius: 0em; } .ui.labeled.icon.buttons .button:first-child > .icon { border-top-left-radius: 0.28571429rem; border-bottom-left-radius: 0.28571429rem; } .ui.labeled.icon.buttons .button:last-child > .icon { border-top-right-radius: 0.28571429rem; border-bottom-right-radius: 0.28571429rem; } .ui.vertical.labeled.icon.buttons .button:first-child > .icon { border-radius: 0em; border-top-left-radius: 0.28571429rem; } .ui.vertical.labeled.icon.buttons .button:last-child > .icon { border-radius: 0em; border-bottom-left-radius: 0.28571429rem; } /* Fluid Labeled */ .ui.fluid[class*="left labeled"].icon.button, .ui.fluid[class*="right labeled"].icon.button { padding-left: 1.5em !important; padding-right: 1.5em !important; } /*-------------- Toggle ---------------*/ /* Toggle (Modifies active state to give affordances) */ .ui.toggle.buttons .active.button, .ui.buttons .button.toggle.active, .ui.button.toggle.active { background-color: #21BA45 !important; box-shadow: none !important; text-shadow: none; color: #FFFFFF !important; } .ui.button.toggle.active:hover { background-color: #16ab39 !important; text-shadow: none; color: #FFFFFF !important; } /*-------------- Circular ---------------*/ .ui.circular.button { border-radius: 10em; } .ui.circular.button > .icon { width: 1em; vertical-align: baseline; } /*------------------- Or Buttons --------------------*/ .ui.buttons .or { position: relative; width: 0.3em; height: 2.57142857em; z-index: 3; } .ui.buttons .or:before { position: absolute; text-align: center; border-radius: 500rem; content: 'or'; top: 50%; left: 50%; background-color: #FFFFFF; text-shadow: none; margin-top: -0.89285714em; margin-left: -0.89285714em; width: 1.78571429em; height: 1.78571429em; line-height: 1.78571429em; color: rgba(0, 0, 0, 0.4); font-style: normal; font-weight: bold; box-shadow: 0px 0px 0px 1px transparent inset; } .ui.buttons .or[data-text]:before { content: attr(data-text); } /* Fluid Or */ .ui.fluid.buttons .or { width: 0em !important; } .ui.fluid.buttons .or:after { display: none; } /*------------------- Attached --------------------*/ /* Singular */ .ui.attached.button { position: relative; display: block; margin: 0em; border-radius: 0em; box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important; } /* Top / Bottom */ .ui.attached.top.button { border-radius: 0.28571429rem 0.28571429rem 0em 0em; } .ui.attached.bottom.button { border-radius: 0em 0em 0.28571429rem 0.28571429rem; } /* Left / Right */ .ui.left.attached.button { display: inline-block; border-left: none; text-align: right; padding-right: 0.75em; border-radius: 0.28571429rem 0em 0em 0.28571429rem; } .ui.right.attached.button { display: inline-block; text-align: left; padding-left: 0.75em; border-radius: 0em 0.28571429rem 0.28571429rem 0em; } /* Plural */ .ui.attached.buttons { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; border-radius: 0em; width: auto !important; z-index: 2; margin-left: -1px; margin-right: -1px; } .ui.attached.buttons .button { margin: 0em; } .ui.attached.buttons .button:first-child { border-radius: 0em; } .ui.attached.buttons .button:last-child { border-radius: 0em; } /* Top / Bottom */ .ui[class*="top attached"].buttons { margin-bottom: -1px; border-radius: 0.28571429rem 0.28571429rem 0em 0em; } .ui[class*="top attached"].buttons .button:first-child { border-radius: 0.28571429rem 0em 0em 0em; } .ui[class*="top attached"].buttons .button:last-child { border-radius: 0em 0.28571429rem 0em 0em; } .ui[class*="bottom attached"].buttons { margin-top: -1px; border-radius: 0em 0em 0.28571429rem 0.28571429rem; } .ui[class*="bottom attached"].buttons .button:first-child { border-radius: 0em 0em 0em 0.28571429rem; } .ui[class*="bottom attached"].buttons .button:last-child { border-radius: 0em 0em 0.28571429rem 0em; } /* Left / Right */ .ui[class*="left attached"].buttons { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; margin-right: 0em; margin-left: -1px; border-radius: 0em 0.28571429rem 0.28571429rem 0em; } .ui[class*="left attached"].buttons .button:first-child { margin-left: -1px; border-radius: 0em 0.28571429rem 0em 0em; } .ui[class*="left attached"].buttons .button:last-child { margin-left: -1px; border-radius: 0em 0em 0.28571429rem 0em; } .ui[class*="right attached"].buttons { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; margin-left: 0em; margin-right: -1px; border-radius: 0.28571429rem 0em 0em 0.28571429rem; } .ui[class*="right attached"].buttons .button:first-child { margin-left: -1px; border-radius: 0.28571429rem 0em 0em 0em; } .ui[class*="right attached"].buttons .button:last-child { margin-left: -1px; border-radius: 0em 0em 0em 0.28571429rem; } /*------------------- Fluid --------------------*/ .ui.fluid.buttons, .ui.fluid.button { width: 100%; } .ui.fluid.button { display: block; } .ui.two.buttons { width: 100%; } .ui.two.buttons > .button { width: 50%; } .ui.three.buttons { width: 100%; } .ui.three.buttons > .button { width: 33.333%; } .ui.four.buttons { width: 100%; } .ui.four.buttons > .button { width: 25%; } .ui.five.buttons { width: 100%; } .ui.five.buttons > .button { width: 20%; } .ui.six.buttons { width: 100%; } .ui.six.buttons > .button { width: 16.666%; } .ui.seven.buttons { width: 100%; } .ui.seven.buttons > .button { width: 14.285%; } .ui.eight.buttons { width: 100%; } .ui.eight.buttons > .button { width: 12.500%; } .ui.nine.buttons { width: 100%; } .ui.nine.buttons > .button { width: 11.11%; } .ui.ten.buttons { width: 100%; } .ui.ten.buttons > .button { width: 10%; } .ui.eleven.buttons { width: 100%; } .ui.eleven.buttons > .button { width: 9.09%; } .ui.twelve.buttons { width: 100%; } .ui.twelve.buttons > .button { width: 8.3333%; } /* Fluid Vertical Buttons */ .ui.fluid.vertical.buttons, .ui.fluid.vertical.buttons > .button { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: auto; } .ui.two.vertical.buttons > .button { height: 50%; } .ui.three.vertical.buttons > .button { height: 33.333%; } .ui.four.vertical.buttons > .button { height: 25%; } .ui.five.vertical.buttons > .button { height: 20%; } .ui.six.vertical.buttons > .button { height: 16.666%; } .ui.seven.vertical.buttons > .button { height: 14.285%; } .ui.eight.vertical.buttons > .button { height: 12.500%; } .ui.nine.vertical.buttons > .button { height: 11.11%; } .ui.ten.vertical.buttons > .button { height: 10%; } .ui.eleven.vertical.buttons > .button { height: 9.09%; } .ui.twelve.vertical.buttons > .button { height: 8.3333%; } /*------------------- Colors --------------------*/ /*--- Black ---*/ .ui.black.buttons .button, .ui.black.button { background-color: #1B1C1D; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.black.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.black.buttons .button:hover, .ui.black.button:hover { background-color: #27292a; color: #FFFFFF; text-shadow: none; } .ui.black.buttons .button:focus, .ui.black.button:focus { background-color: #2f3032; color: #FFFFFF; text-shadow: none; } .ui.black.buttons .button:active, .ui.black.button:active { background-color: #343637; color: #FFFFFF; text-shadow: none; } .ui.black.buttons .active.button, .ui.black.buttons .active.button:active, .ui.black.active.button, .ui.black.button .active.button:active { background-color: #0f0f10; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.black.buttons .button, .ui.basic.black.button { box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; color: #1B1C1D !important; } .ui.basic.black.buttons .button:hover, .ui.basic.black.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #27292a inset !important; color: #27292a !important; } .ui.basic.black.buttons .button:focus, .ui.basic.black.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #2f3032 inset !important; color: #27292a !important; } .ui.basic.black.buttons .active.button, .ui.basic.black.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #0f0f10 inset !important; color: #343637 !important; } .ui.basic.black.buttons .button:active, .ui.basic.black.button:active { box-shadow: 0px 0px 0px 1px #343637 inset !important; color: #343637 !important; } .ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.black.buttons .button, .ui.inverted.black.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; color: #FFFFFF; } .ui.inverted.black.buttons .button:hover, .ui.inverted.black.button:hover, .ui.inverted.black.buttons .button:focus, .ui.inverted.black.button:focus, .ui.inverted.black.buttons .button.active, .ui.inverted.black.button.active, .ui.inverted.black.buttons .button:active, .ui.inverted.black.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.black.buttons .button:hover, .ui.inverted.black.button:hover { background-color: #000000; } .ui.inverted.black.buttons .button:focus, .ui.inverted.black.button:focus { background-color: #000000; } .ui.inverted.black.buttons .active.button, .ui.inverted.black.active.button { background-color: #000000; } .ui.inverted.black.buttons .button:active, .ui.inverted.black.button:active { background-color: #000000; } /* Inverted Basic */ .ui.inverted.black.basic.buttons .button, .ui.inverted.black.buttons .basic.button, .ui.inverted.black.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.black.basic.buttons .button:hover, .ui.inverted.black.buttons .basic.button:hover, .ui.inverted.black.basic.button:hover { box-shadow: 0px 0px 0px 2px #000000 inset !important; color: #FFFFFF !important; } .ui.inverted.black.basic.buttons .button:focus, .ui.inverted.black.basic.buttons .button:focus, .ui.inverted.black.basic.button:focus { box-shadow: 0px 0px 0px 2px #000000 inset !important; color: #545454 !important; } .ui.inverted.black.basic.buttons .active.button, .ui.inverted.black.buttons .basic.active.button, .ui.inverted.black.basic.active.button { box-shadow: 0px 0px 0px 2px #000000 inset !important; color: #FFFFFF !important; } .ui.inverted.black.basic.buttons .button:active, .ui.inverted.black.buttons .basic.button:active, .ui.inverted.black.basic.button:active { box-shadow: 0px 0px 0px 2px #000000 inset !important; color: #FFFFFF !important; } /*--- Grey ---*/ .ui.grey.buttons .button, .ui.grey.button { background-color: #767676; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.grey.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.grey.buttons .button:hover, .ui.grey.button:hover { background-color: #838383; color: #FFFFFF; text-shadow: none; } .ui.grey.buttons .button:focus, .ui.grey.button:focus { background-color: #8a8a8a; color: #FFFFFF; text-shadow: none; } .ui.grey.buttons .button:active, .ui.grey.button:active { background-color: #909090; color: #FFFFFF; text-shadow: none; } .ui.grey.buttons .active.button, .ui.grey.buttons .active.button:active, .ui.grey.active.button, .ui.grey.button .active.button:active { background-color: #696969; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.grey.buttons .button, .ui.basic.grey.button { box-shadow: 0px 0px 0px 1px #767676 inset !important; color: #767676 !important; } .ui.basic.grey.buttons .button:hover, .ui.basic.grey.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #838383 inset !important; color: #838383 !important; } .ui.basic.grey.buttons .button:focus, .ui.basic.grey.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #8a8a8a inset !important; color: #838383 !important; } .ui.basic.grey.buttons .active.button, .ui.basic.grey.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #696969 inset !important; color: #909090 !important; } .ui.basic.grey.buttons .button:active, .ui.basic.grey.button:active { box-shadow: 0px 0px 0px 1px #909090 inset !important; color: #909090 !important; } .ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.grey.buttons .button, .ui.inverted.grey.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; color: #FFFFFF; } .ui.inverted.grey.buttons .button:hover, .ui.inverted.grey.button:hover, .ui.inverted.grey.buttons .button:focus, .ui.inverted.grey.button:focus, .ui.inverted.grey.buttons .button.active, .ui.inverted.grey.button.active, .ui.inverted.grey.buttons .button:active, .ui.inverted.grey.button:active { box-shadow: none !important; color: rgba(0, 0, 0, 0.6); } .ui.inverted.grey.buttons .button:hover, .ui.inverted.grey.button:hover { background-color: #cfd0d2; } .ui.inverted.grey.buttons .button:focus, .ui.inverted.grey.button:focus { background-color: #c7c9cb; } .ui.inverted.grey.buttons .active.button, .ui.inverted.grey.active.button { background-color: #cfd0d2; } .ui.inverted.grey.buttons .button:active, .ui.inverted.grey.button:active { background-color: #c2c4c5; } /* Inverted Basic */ .ui.inverted.grey.basic.buttons .button, .ui.inverted.grey.buttons .basic.button, .ui.inverted.grey.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.grey.basic.buttons .button:hover, .ui.inverted.grey.buttons .basic.button:hover, .ui.inverted.grey.basic.button:hover { box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; color: #FFFFFF !important; } .ui.inverted.grey.basic.buttons .button:focus, .ui.inverted.grey.basic.buttons .button:focus, .ui.inverted.grey.basic.button:focus { box-shadow: 0px 0px 0px 2px #c7c9cb inset !important; color: #DCDDDE !important; } .ui.inverted.grey.basic.buttons .active.button, .ui.inverted.grey.buttons .basic.active.button, .ui.inverted.grey.basic.active.button { box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; color: #FFFFFF !important; } .ui.inverted.grey.basic.buttons .button:active, .ui.inverted.grey.buttons .basic.button:active, .ui.inverted.grey.basic.button:active { box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important; color: #FFFFFF !important; } /*--- Brown ---*/ .ui.brown.buttons .button, .ui.brown.button { background-color: #A5673F; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.brown.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.brown.buttons .button:hover, .ui.brown.button:hover { background-color: #975b33; color: #FFFFFF; text-shadow: none; } .ui.brown.buttons .button:focus, .ui.brown.button:focus { background-color: #90532b; color: #FFFFFF; text-shadow: none; } .ui.brown.buttons .button:active, .ui.brown.button:active { background-color: #805031; color: #FFFFFF; text-shadow: none; } .ui.brown.buttons .active.button, .ui.brown.buttons .active.button:active, .ui.brown.active.button, .ui.brown.button .active.button:active { background-color: #995a31; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.brown.buttons .button, .ui.basic.brown.button { box-shadow: 0px 0px 0px 1px #A5673F inset !important; color: #A5673F !important; } .ui.basic.brown.buttons .button:hover, .ui.basic.brown.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #975b33 inset !important; color: #975b33 !important; } .ui.basic.brown.buttons .button:focus, .ui.basic.brown.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #90532b inset !important; color: #975b33 !important; } .ui.basic.brown.buttons .active.button, .ui.basic.brown.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #995a31 inset !important; color: #805031 !important; } .ui.basic.brown.buttons .button:active, .ui.basic.brown.button:active { box-shadow: 0px 0px 0px 1px #805031 inset !important; color: #805031 !important; } .ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.brown.buttons .button, .ui.inverted.brown.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #D67C1C inset !important; color: #D67C1C; } .ui.inverted.brown.buttons .button:hover, .ui.inverted.brown.button:hover, .ui.inverted.brown.buttons .button:focus, .ui.inverted.brown.button:focus, .ui.inverted.brown.buttons .button.active, .ui.inverted.brown.button.active, .ui.inverted.brown.buttons .button:active, .ui.inverted.brown.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.brown.buttons .button:hover, .ui.inverted.brown.button:hover { background-color: #c86f11; } .ui.inverted.brown.buttons .button:focus, .ui.inverted.brown.button:focus { background-color: #c16808; } .ui.inverted.brown.buttons .active.button, .ui.inverted.brown.active.button { background-color: #cc6f0d; } .ui.inverted.brown.buttons .button:active, .ui.inverted.brown.button:active { background-color: #a96216; } /* Inverted Basic */ .ui.inverted.brown.basic.buttons .button, .ui.inverted.brown.buttons .basic.button, .ui.inverted.brown.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.brown.basic.buttons .button:hover, .ui.inverted.brown.buttons .basic.button:hover, .ui.inverted.brown.basic.button:hover { box-shadow: 0px 0px 0px 2px #c86f11 inset !important; color: #D67C1C !important; } .ui.inverted.brown.basic.buttons .button:focus, .ui.inverted.brown.basic.buttons .button:focus, .ui.inverted.brown.basic.button:focus { box-shadow: 0px 0px 0px 2px #c16808 inset !important; color: #D67C1C !important; } .ui.inverted.brown.basic.buttons .active.button, .ui.inverted.brown.buttons .basic.active.button, .ui.inverted.brown.basic.active.button { box-shadow: 0px 0px 0px 2px #cc6f0d inset !important; color: #D67C1C !important; } .ui.inverted.brown.basic.buttons .button:active, .ui.inverted.brown.buttons .basic.button:active, .ui.inverted.brown.basic.button:active { box-shadow: 0px 0px 0px 2px #a96216 inset !important; color: #D67C1C !important; } /*--- Blue ---*/ .ui.blue.buttons .button, .ui.blue.button { background-color: #2185D0; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.blue.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.blue.buttons .button:hover, .ui.blue.button:hover { background-color: #1678c2; color: #FFFFFF; text-shadow: none; } .ui.blue.buttons .button:focus, .ui.blue.button:focus { background-color: #0d71bb; color: #FFFFFF; text-shadow: none; } .ui.blue.buttons .button:active, .ui.blue.button:active { background-color: #1a69a4; color: #FFFFFF; text-shadow: none; } .ui.blue.buttons .active.button, .ui.blue.buttons .active.button:active, .ui.blue.active.button, .ui.blue.button .active.button:active { background-color: #1279c6; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.blue.buttons .button, .ui.basic.blue.button { box-shadow: 0px 0px 0px 1px #2185D0 inset !important; color: #2185D0 !important; } .ui.basic.blue.buttons .button:hover, .ui.basic.blue.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #1678c2 inset !important; color: #1678c2 !important; } .ui.basic.blue.buttons .button:focus, .ui.basic.blue.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #0d71bb inset !important; color: #1678c2 !important; } .ui.basic.blue.buttons .active.button, .ui.basic.blue.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #1279c6 inset !important; color: #1a69a4 !important; } .ui.basic.blue.buttons .button:active, .ui.basic.blue.button:active { box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; color: #1a69a4 !important; } .ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.blue.buttons .button, .ui.inverted.blue.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #54C8FF inset !important; color: #54C8FF; } .ui.inverted.blue.buttons .button:hover, .ui.inverted.blue.button:hover, .ui.inverted.blue.buttons .button:focus, .ui.inverted.blue.button:focus, .ui.inverted.blue.buttons .button.active, .ui.inverted.blue.button.active, .ui.inverted.blue.buttons .button:active, .ui.inverted.blue.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.blue.buttons .button:hover, .ui.inverted.blue.button:hover { background-color: #3ac0ff; } .ui.inverted.blue.buttons .button:focus, .ui.inverted.blue.button:focus { background-color: #2bbbff; } .ui.inverted.blue.buttons .active.button, .ui.inverted.blue.active.button { background-color: #3ac0ff; } .ui.inverted.blue.buttons .button:active, .ui.inverted.blue.button:active { background-color: #21b8ff; } /* Inverted Basic */ .ui.inverted.blue.basic.buttons .button, .ui.inverted.blue.buttons .basic.button, .ui.inverted.blue.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.blue.basic.buttons .button:hover, .ui.inverted.blue.buttons .basic.button:hover, .ui.inverted.blue.basic.button:hover { box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; color: #54C8FF !important; } .ui.inverted.blue.basic.buttons .button:focus, .ui.inverted.blue.basic.buttons .button:focus, .ui.inverted.blue.basic.button:focus { box-shadow: 0px 0px 0px 2px #2bbbff inset !important; color: #54C8FF !important; } .ui.inverted.blue.basic.buttons .active.button, .ui.inverted.blue.buttons .basic.active.button, .ui.inverted.blue.basic.active.button { box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; color: #54C8FF !important; } .ui.inverted.blue.basic.buttons .button:active, .ui.inverted.blue.buttons .basic.button:active, .ui.inverted.blue.basic.button:active { box-shadow: 0px 0px 0px 2px #21b8ff inset !important; color: #54C8FF !important; } /*--- Green ---*/ .ui.green.buttons .button, .ui.green.button { background-color: #21BA45; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.green.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.green.buttons .button:hover, .ui.green.button:hover { background-color: #16ab39; color: #FFFFFF; text-shadow: none; } .ui.green.buttons .button:focus, .ui.green.button:focus { background-color: #0ea432; color: #FFFFFF; text-shadow: none; } .ui.green.buttons .button:active, .ui.green.button:active { background-color: #198f35; color: #FFFFFF; text-shadow: none; } .ui.green.buttons .active.button, .ui.green.buttons .active.button:active, .ui.green.active.button, .ui.green.button .active.button:active { background-color: #13ae38; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.green.buttons .button, .ui.basic.green.button { box-shadow: 0px 0px 0px 1px #21BA45 inset !important; color: #21BA45 !important; } .ui.basic.green.buttons .button:hover, .ui.basic.green.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #16ab39 inset !important; color: #16ab39 !important; } .ui.basic.green.buttons .button:focus, .ui.basic.green.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #0ea432 inset !important; color: #16ab39 !important; } .ui.basic.green.buttons .active.button, .ui.basic.green.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #13ae38 inset !important; color: #198f35 !important; } .ui.basic.green.buttons .button:active, .ui.basic.green.button:active { box-shadow: 0px 0px 0px 1px #198f35 inset !important; color: #198f35 !important; } .ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.green.buttons .button, .ui.inverted.green.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #2ECC40 inset !important; color: #2ECC40; } .ui.inverted.green.buttons .button:hover, .ui.inverted.green.button:hover, .ui.inverted.green.buttons .button:focus, .ui.inverted.green.button:focus, .ui.inverted.green.buttons .button.active, .ui.inverted.green.button.active, .ui.inverted.green.buttons .button:active, .ui.inverted.green.button:active { box-shadlightOw: none !important; color: #FFFFFF; } .ui.inverted.green.buttons .button:hover, .ui.inverted.green.button:hover { background-color: #22be34; } .ui.inverted.green.buttons .button:focus, .ui.inverted.green.button:focus { background-color: #19b82b; } .ui.inverted.green.buttons .active.button, .ui.inverted.green.active.button { background-color: #1fc231; } .ui.inverted.green.buttons .button:active, .ui.inverted.green.button:active { background-color: #25a233; } /* Inverted Basic */ .ui.inverted.green.basic.buttons .button, .ui.inverted.green.buttons .basic.button, .ui.inverted.green.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.green.basic.buttons .button:hover, .ui.inverted.green.buttons .basic.button:hover, .ui.inverted.green.basic.button:hover { box-shadow: 0px 0px 0px 2px #22be34 inset !important; color: #2ECC40 !important; } .ui.inverted.green.basic.buttons .button:focus, .ui.inverted.green.basic.buttons .button:focus, .ui.inverted.green.basic.button:focus { box-shadow: 0px 0px 0px 2px #19b82b inset !important; color: #2ECC40 !important; } .ui.inverted.green.basic.buttons .active.button, .ui.inverted.green.buttons .basic.active.button, .ui.inverted.green.basic.active.button { box-shadow: 0px 0px 0px 2px #1fc231 inset !important; color: #2ECC40 !important; } .ui.inverted.green.basic.buttons .button:active, .ui.inverted.green.buttons .basic.button:active, .ui.inverted.green.basic.button:active { box-shadow: 0px 0px 0px 2px #25a233 inset !important; color: #2ECC40 !important; } /*--- Orange ---*/ .ui.orange.buttons .button, .ui.orange.button { background-color: #F2711C; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.orange.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.orange.buttons .button:hover, .ui.orange.button:hover { background-color: #f26202; color: #FFFFFF; text-shadow: none; } .ui.orange.buttons .button:focus, .ui.orange.button:focus { background-color: #e55b00; color: #FFFFFF; text-shadow: none; } .ui.orange.buttons .button:active, .ui.orange.button:active { background-color: #cf590c; color: #FFFFFF; text-shadow: none; } .ui.orange.buttons .active.button, .ui.orange.buttons .active.button:active, .ui.orange.active.button, .ui.orange.button .active.button:active { background-color: #f56100; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.orange.buttons .button, .ui.basic.orange.button { box-shadow: 0px 0px 0px 1px #F2711C inset !important; color: #F2711C !important; } .ui.basic.orange.buttons .button:hover, .ui.basic.orange.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #f26202 inset !important; color: #f26202 !important; } .ui.basic.orange.buttons .button:focus, .ui.basic.orange.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #e55b00 inset !important; color: #f26202 !important; } .ui.basic.orange.buttons .active.button, .ui.basic.orange.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #f56100 inset !important; color: #cf590c !important; } .ui.basic.orange.buttons .button:active, .ui.basic.orange.button:active { box-shadow: 0px 0px 0px 1px #cf590c inset !important; color: #cf590c !important; } .ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.orange.buttons .button, .ui.inverted.orange.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #FF851B inset !important; color: #FF851B; } .ui.inverted.orange.buttons .button:hover, .ui.inverted.orange.button:hover, .ui.inverted.orange.buttons .button:focus, .ui.inverted.orange.button:focus, .ui.inverted.orange.buttons .button.active, .ui.inverted.orange.button.active, .ui.inverted.orange.buttons .button:active, .ui.inverted.orange.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.orange.buttons .button:hover, .ui.inverted.orange.button:hover { background-color: #ff7701; } .ui.inverted.orange.buttons .button:focus, .ui.inverted.orange.button:focus { background-color: #f17000; } .ui.inverted.orange.buttons .active.button, .ui.inverted.orange.active.button { background-color: #ff7701; } .ui.inverted.orange.buttons .button:active, .ui.inverted.orange.button:active { background-color: #e76b00; } /* Inverted Basic */ .ui.inverted.orange.basic.buttons .button, .ui.inverted.orange.buttons .basic.button, .ui.inverted.orange.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.orange.basic.buttons .button:hover, .ui.inverted.orange.buttons .basic.button:hover, .ui.inverted.orange.basic.button:hover { box-shadow: 0px 0px 0px 2px #ff7701 inset !important; color: #FF851B !important; } .ui.inverted.orange.basic.buttons .button:focus, .ui.inverted.orange.basic.buttons .button:focus, .ui.inverted.orange.basic.button:focus { box-shadow: 0px 0px 0px 2px #f17000 inset !important; color: #FF851B !important; } .ui.inverted.orange.basic.buttons .active.button, .ui.inverted.orange.buttons .basic.active.button, .ui.inverted.orange.basic.active.button { box-shadow: 0px 0px 0px 2px #ff7701 inset !important; color: #FF851B !important; } .ui.inverted.orange.basic.buttons .button:active, .ui.inverted.orange.buttons .basic.button:active, .ui.inverted.orange.basic.button:active { box-shadow: 0px 0px 0px 2px #e76b00 inset !important; color: #FF851B !important; } /*--- Pink ---*/ .ui.pink.buttons .button, .ui.pink.button { background-color: #E03997; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.pink.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.pink.buttons .button:hover, .ui.pink.button:hover { background-color: #e61a8d; color: #FFFFFF; text-shadow: none; } .ui.pink.buttons .button:focus, .ui.pink.button:focus { background-color: #e10f85; color: #FFFFFF; text-shadow: none; } .ui.pink.buttons .button:active, .ui.pink.button:active { background-color: #c71f7e; color: #FFFFFF; text-shadow: none; } .ui.pink.buttons .active.button, .ui.pink.buttons .active.button:active, .ui.pink.active.button, .ui.pink.button .active.button:active { background-color: #ea158d; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.pink.buttons .button, .ui.basic.pink.button { box-shadow: 0px 0px 0px 1px #E03997 inset !important; color: #E03997 !important; } .ui.basic.pink.buttons .button:hover, .ui.basic.pink.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #e61a8d inset !important; color: #e61a8d !important; } .ui.basic.pink.buttons .button:focus, .ui.basic.pink.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #e10f85 inset !important; color: #e61a8d !important; } .ui.basic.pink.buttons .active.button, .ui.basic.pink.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #ea158d inset !important; color: #c71f7e !important; } .ui.basic.pink.buttons .button:active, .ui.basic.pink.button:active { box-shadow: 0px 0px 0px 1px #c71f7e inset !important; color: #c71f7e !important; } .ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.pink.buttons .button, .ui.inverted.pink.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #FF8EDF inset !important; color: #FF8EDF; } .ui.inverted.pink.buttons .button:hover, .ui.inverted.pink.button:hover, .ui.inverted.pink.buttons .button:focus, .ui.inverted.pink.button:focus, .ui.inverted.pink.buttons .button.active, .ui.inverted.pink.button.active, .ui.inverted.pink.buttons .button:active, .ui.inverted.pink.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.pink.buttons .button:hover, .ui.inverted.pink.button:hover { background-color: #ff74d8; } .ui.inverted.pink.buttons .button:focus, .ui.inverted.pink.button:focus { background-color: #ff65d3; } .ui.inverted.pink.buttons .active.button, .ui.inverted.pink.active.button { background-color: #ff74d8; } .ui.inverted.pink.buttons .button:active, .ui.inverted.pink.button:active { background-color: #ff5bd1; } /* Inverted Basic */ .ui.inverted.pink.basic.buttons .button, .ui.inverted.pink.buttons .basic.button, .ui.inverted.pink.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.pink.basic.buttons .button:hover, .ui.inverted.pink.buttons .basic.button:hover, .ui.inverted.pink.basic.button:hover { box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; color: #FF8EDF !important; } .ui.inverted.pink.basic.buttons .button:focus, .ui.inverted.pink.basic.buttons .button:focus, .ui.inverted.pink.basic.button:focus { box-shadow: 0px 0px 0px 2px #ff65d3 inset !important; color: #FF8EDF !important; } .ui.inverted.pink.basic.buttons .active.button, .ui.inverted.pink.buttons .basic.active.button, .ui.inverted.pink.basic.active.button { box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; color: #FF8EDF !important; } .ui.inverted.pink.basic.buttons .button:active, .ui.inverted.pink.buttons .basic.button:active, .ui.inverted.pink.basic.button:active { box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important; color: #FF8EDF !important; } /*--- Violet ---*/ .ui.violet.buttons .button, .ui.violet.button { background-color: #6435C9; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.violet.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.violet.buttons .button:hover, .ui.violet.button:hover { background-color: #5829bb; color: #FFFFFF; text-shadow: none; } .ui.violet.buttons .button:focus, .ui.violet.button:focus { background-color: #4f20b5; color: #FFFFFF; text-shadow: none; } .ui.violet.buttons .button:active, .ui.violet.button:active { background-color: #502aa1; color: #FFFFFF; text-shadow: none; } .ui.violet.buttons .active.button, .ui.violet.buttons .active.button:active, .ui.violet.active.button, .ui.violet.button .active.button:active { background-color: #5626bf; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.violet.buttons .button, .ui.basic.violet.button { box-shadow: 0px 0px 0px 1px #6435C9 inset !important; color: #6435C9 !important; } .ui.basic.violet.buttons .button:hover, .ui.basic.violet.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #5829bb inset !important; color: #5829bb !important; } .ui.basic.violet.buttons .button:focus, .ui.basic.violet.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #4f20b5 inset !important; color: #5829bb !important; } .ui.basic.violet.buttons .active.button, .ui.basic.violet.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #5626bf inset !important; color: #502aa1 !important; } .ui.basic.violet.buttons .button:active, .ui.basic.violet.button:active { box-shadow: 0px 0px 0px 1px #502aa1 inset !important; color: #502aa1 !important; } .ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.violet.buttons .button, .ui.inverted.violet.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #A291FB inset !important; color: #A291FB; } .ui.inverted.violet.buttons .button:hover, .ui.inverted.violet.button:hover, .ui.inverted.violet.buttons .button:focus, .ui.inverted.violet.button:focus, .ui.inverted.violet.buttons .button.active, .ui.inverted.violet.button.active, .ui.inverted.violet.buttons .button:active, .ui.inverted.violet.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.violet.buttons .button:hover, .ui.inverted.violet.button:hover { background-color: #8a73ff; } .ui.inverted.violet.buttons .button:focus, .ui.inverted.violet.button:focus { background-color: #7d64ff; } .ui.inverted.violet.buttons .active.button, .ui.inverted.violet.active.button { background-color: #8a73ff; } .ui.inverted.violet.buttons .button:active, .ui.inverted.violet.button:active { background-color: #7860f9; } /* Inverted Basic */ .ui.inverted.violet.basic.buttons .button, .ui.inverted.violet.buttons .basic.button, .ui.inverted.violet.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.violet.basic.buttons .button:hover, .ui.inverted.violet.buttons .basic.button:hover, .ui.inverted.violet.basic.button:hover { box-shadow: 0px 0px 0px 2px #8a73ff inset !important; color: #A291FB !important; } .ui.inverted.violet.basic.buttons .button:focus, .ui.inverted.violet.basic.buttons .button:focus, .ui.inverted.violet.basic.button:focus { box-shadow: 0px 0px 0px 2px #7d64ff inset !important; color: #A291FB !important; } .ui.inverted.violet.basic.buttons .active.button, .ui.inverted.violet.buttons .basic.active.button, .ui.inverted.violet.basic.active.button { box-shadow: 0px 0px 0px 2px #8a73ff inset !important; color: #A291FB !important; } .ui.inverted.violet.basic.buttons .button:active, .ui.inverted.violet.buttons .basic.button:active, .ui.inverted.violet.basic.button:active { box-shadow: 0px 0px 0px 2px #7860f9 inset !important; color: #A291FB !important; } /*--- Purple ---*/ .ui.purple.buttons .button, .ui.purple.button { background-color: #A333C8; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.purple.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.purple.buttons .button:hover, .ui.purple.button:hover { background-color: #9627ba; color: #FFFFFF; text-shadow: none; } .ui.purple.buttons .button:focus, .ui.purple.button:focus { background-color: #8f1eb4; color: #FFFFFF; text-shadow: none; } .ui.purple.buttons .button:active, .ui.purple.button:active { background-color: #82299f; color: #FFFFFF; text-shadow: none; } .ui.purple.buttons .active.button, .ui.purple.buttons .active.button:active, .ui.purple.active.button, .ui.purple.button .active.button:active { background-color: #9724be; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.purple.buttons .button, .ui.basic.purple.button { box-shadow: 0px 0px 0px 1px #A333C8 inset !important; color: #A333C8 !important; } .ui.basic.purple.buttons .button:hover, .ui.basic.purple.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #9627ba inset !important; color: #9627ba !important; } .ui.basic.purple.buttons .button:focus, .ui.basic.purple.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important; color: #9627ba !important; } .ui.basic.purple.buttons .active.button, .ui.basic.purple.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #9724be inset !important; color: #82299f !important; } .ui.basic.purple.buttons .button:active, .ui.basic.purple.button:active { box-shadow: 0px 0px 0px 1px #82299f inset !important; color: #82299f !important; } .ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.purple.buttons .button, .ui.inverted.purple.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #DC73FF inset !important; color: #DC73FF; } .ui.inverted.purple.buttons .button:hover, .ui.inverted.purple.button:hover, .ui.inverted.purple.buttons .button:focus, .ui.inverted.purple.button:focus, .ui.inverted.purple.buttons .button.active, .ui.inverted.purple.button.active, .ui.inverted.purple.buttons .button:active, .ui.inverted.purple.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.purple.buttons .button:hover, .ui.inverted.purple.button:hover { background-color: #d65aff; } .ui.inverted.purple.buttons .button:focus, .ui.inverted.purple.button:focus { background-color: #d24aff; } .ui.inverted.purple.buttons .active.button, .ui.inverted.purple.active.button { background-color: #d65aff; } .ui.inverted.purple.buttons .button:active, .ui.inverted.purple.button:active { background-color: #cf40ff; } /* Inverted Basic */ .ui.inverted.purple.basic.buttons .button, .ui.inverted.purple.buttons .basic.button, .ui.inverted.purple.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.purple.basic.buttons .button:hover, .ui.inverted.purple.buttons .basic.button:hover, .ui.inverted.purple.basic.button:hover { box-shadow: 0px 0px 0px 2px #d65aff inset !important; color: #DC73FF !important; } .ui.inverted.purple.basic.buttons .button:focus, .ui.inverted.purple.basic.buttons .button:focus, .ui.inverted.purple.basic.button:focus { box-shadow: 0px 0px 0px 2px #d24aff inset !important; color: #DC73FF !important; } .ui.inverted.purple.basic.buttons .active.button, .ui.inverted.purple.buttons .basic.active.button, .ui.inverted.purple.basic.active.button { box-shadow: 0px 0px 0px 2px #d65aff inset !important; color: #DC73FF !important; } .ui.inverted.purple.basic.buttons .button:active, .ui.inverted.purple.buttons .basic.button:active, .ui.inverted.purple.basic.button:active { box-shadow: 0px 0px 0px 2px #cf40ff inset !important; color: #DC73FF !important; } /*--- Red ---*/ .ui.red.buttons .button, .ui.red.button { background-color: #DB2828; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.red.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.red.buttons .button:hover, .ui.red.button:hover { background-color: #d01919; color: #FFFFFF; text-shadow: none; } .ui.red.buttons .button:focus, .ui.red.button:focus { background-color: #ca1010; color: #FFFFFF; text-shadow: none; } .ui.red.buttons .button:active, .ui.red.button:active { background-color: #b21e1e; color: #FFFFFF; text-shadow: none; } .ui.red.buttons .active.button, .ui.red.buttons .active.button:active, .ui.red.active.button, .ui.red.button .active.button:active { background-color: #d41515; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.red.buttons .button, .ui.basic.red.button { box-shadow: 0px 0px 0px 1px #DB2828 inset !important; color: #DB2828 !important; } .ui.basic.red.buttons .button:hover, .ui.basic.red.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #d01919 inset !important; color: #d01919 !important; } .ui.basic.red.buttons .button:focus, .ui.basic.red.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #ca1010 inset !important; color: #d01919 !important; } .ui.basic.red.buttons .active.button, .ui.basic.red.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #d41515 inset !important; color: #b21e1e !important; } .ui.basic.red.buttons .button:active, .ui.basic.red.button:active { box-shadow: 0px 0px 0px 1px #b21e1e inset !important; color: #b21e1e !important; } .ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.red.buttons .button, .ui.inverted.red.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #FF695E inset !important; color: #FF695E; } .ui.inverted.red.buttons .button:hover, .ui.inverted.red.button:hover, .ui.inverted.red.buttons .button:focus, .ui.inverted.red.button:focus, .ui.inverted.red.buttons .button.active, .ui.inverted.red.button.active, .ui.inverted.red.buttons .button:active, .ui.inverted.red.button:active { box-shadow: none !important; color: #FFFFFF; } .ui.inverted.red.buttons .button:hover, .ui.inverted.red.button:hover { background-color: #ff5144; } .ui.inverted.red.buttons .button:focus, .ui.inverted.red.button:focus { background-color: #ff4335; } .ui.inverted.red.buttons .active.button, .ui.inverted.red.active.button { background-color: #ff5144; } .ui.inverted.red.buttons .button:active, .ui.inverted.red.button:active { background-color: #ff392b; } /* Inverted Basic */ .ui.inverted.red.basic.buttons .button, .ui.inverted.red.buttons .basic.button, .ui.inverted.red.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.red.basic.buttons .button:hover, .ui.inverted.red.buttons .basic.button:hover, .ui.inverted.red.basic.button:hover { box-shadow: 0px 0px 0px 2px #ff5144 inset !important; color: #FF695E !important; } .ui.inverted.red.basic.buttons .button:focus, .ui.inverted.red.basic.buttons .button:focus, .ui.inverted.red.basic.button:focus { box-shadow: 0px 0px 0px 2px #ff4335 inset !important; color: #FF695E !important; } .ui.inverted.red.basic.buttons .active.button, .ui.inverted.red.buttons .basic.active.button, .ui.inverted.red.basic.active.button { box-shadow: 0px 0px 0px 2px #ff5144 inset !important; color: #FF695E !important; } .ui.inverted.red.basic.buttons .button:active, .ui.inverted.red.buttons .basic.button:active, .ui.inverted.red.basic.button:active { box-shadow: 0px 0px 0px 2px #ff392b inset !important; color: #FF695E !important; } /*--- Teal ---*/ .ui.teal.buttons .button, .ui.teal.button { background-color: #00B5AD; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.teal.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.teal.buttons .button:hover, .ui.teal.button:hover { background-color: #009c95; color: #FFFFFF; text-shadow: none; } .ui.teal.buttons .button:focus, .ui.teal.button:focus { background-color: #008c86; color: #FFFFFF; text-shadow: none; } .ui.teal.buttons .button:active, .ui.teal.button:active { background-color: #00827c; color: #FFFFFF; text-shadow: none; } .ui.teal.buttons .active.button, .ui.teal.buttons .active.button:active, .ui.teal.active.button, .ui.teal.button .active.button:active { background-color: #009c95; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.teal.buttons .button, .ui.basic.teal.button { box-shadow: 0px 0px 0px 1px #00B5AD inset !important; color: #00B5AD !important; } .ui.basic.teal.buttons .button:hover, .ui.basic.teal.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #009c95 inset !important; color: #009c95 !important; } .ui.basic.teal.buttons .button:focus, .ui.basic.teal.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #008c86 inset !important; color: #009c95 !important; } .ui.basic.teal.buttons .active.button, .ui.basic.teal.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #009c95 inset !important; color: #00827c !important; } .ui.basic.teal.buttons .button:active, .ui.basic.teal.button:active { box-shadow: 0px 0px 0px 1px #00827c inset !important; color: #00827c !important; } .ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.teal.buttons .button, .ui.inverted.teal.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #6DFFFF inset !important; color: #6DFFFF; } .ui.inverted.teal.buttons .button:hover, .ui.inverted.teal.button:hover, .ui.inverted.teal.buttons .button:focus, .ui.inverted.teal.button:focus, .ui.inverted.teal.buttons .button.active, .ui.inverted.teal.button.active, .ui.inverted.teal.buttons .button:active, .ui.inverted.teal.button:active { box-shadow: none !important; color: rgba(0, 0, 0, 0.6); } .ui.inverted.teal.buttons .button:hover, .ui.inverted.teal.button:hover { background-color: #54ffff; } .ui.inverted.teal.buttons .button:focus, .ui.inverted.teal.button:focus { background-color: #44ffff; } .ui.inverted.teal.buttons .active.button, .ui.inverted.teal.active.button { background-color: #54ffff; } .ui.inverted.teal.buttons .button:active, .ui.inverted.teal.button:active { background-color: #3affff; } /* Inverted Basic */ .ui.inverted.teal.basic.buttons .button, .ui.inverted.teal.buttons .basic.button, .ui.inverted.teal.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.teal.basic.buttons .button:hover, .ui.inverted.teal.buttons .basic.button:hover, .ui.inverted.teal.basic.button:hover { box-shadow: 0px 0px 0px 2px #54ffff inset !important; color: #6DFFFF !important; } .ui.inverted.teal.basic.buttons .button:focus, .ui.inverted.teal.basic.buttons .button:focus, .ui.inverted.teal.basic.button:focus { box-shadow: 0px 0px 0px 2px #44ffff inset !important; color: #6DFFFF !important; } .ui.inverted.teal.basic.buttons .active.button, .ui.inverted.teal.buttons .basic.active.button, .ui.inverted.teal.basic.active.button { box-shadow: 0px 0px 0px 2px #54ffff inset !important; color: #6DFFFF !important; } .ui.inverted.teal.basic.buttons .button:active, .ui.inverted.teal.buttons .basic.button:active, .ui.inverted.teal.basic.button:active { box-shadow: 0px 0px 0px 2px #3affff inset !important; color: #6DFFFF !important; } /*--- Olive ---*/ .ui.olive.buttons .button, .ui.olive.button { background-color: #B5CC18; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.olive.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.olive.buttons .button:hover, .ui.olive.button:hover { background-color: #a7bd0d; color: #FFFFFF; text-shadow: none; } .ui.olive.buttons .button:focus, .ui.olive.button:focus { background-color: #a0b605; color: #FFFFFF; text-shadow: none; } .ui.olive.buttons .button:active, .ui.olive.button:active { background-color: #8d9e13; color: #FFFFFF; text-shadow: none; } .ui.olive.buttons .active.button, .ui.olive.buttons .active.button:active, .ui.olive.active.button, .ui.olive.button .active.button:active { background-color: #aac109; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.olive.buttons .button, .ui.basic.olive.button { box-shadow: 0px 0px 0px 1px #B5CC18 inset !important; color: #B5CC18 !important; } .ui.basic.olive.buttons .button:hover, .ui.basic.olive.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #a7bd0d inset !important; color: #a7bd0d !important; } .ui.basic.olive.buttons .button:focus, .ui.basic.olive.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #a0b605 inset !important; color: #a7bd0d !important; } .ui.basic.olive.buttons .active.button, .ui.basic.olive.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #aac109 inset !important; color: #8d9e13 !important; } .ui.basic.olive.buttons .button:active, .ui.basic.olive.button:active { box-shadow: 0px 0px 0px 1px #8d9e13 inset !important; color: #8d9e13 !important; } .ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.olive.buttons .button, .ui.inverted.olive.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #D9E778 inset !important; color: #D9E778; } .ui.inverted.olive.buttons .button:hover, .ui.inverted.olive.button:hover, .ui.inverted.olive.buttons .button:focus, .ui.inverted.olive.button:focus, .ui.inverted.olive.buttons .button.active, .ui.inverted.olive.button.active, .ui.inverted.olive.buttons .button:active, .ui.inverted.olive.button:active { box-shadow: none !important; color: rgba(0, 0, 0, 0.6); } .ui.inverted.olive.buttons .button:hover, .ui.inverted.olive.button:hover { background-color: #d8ea5c; } .ui.inverted.olive.buttons .button:focus, .ui.inverted.olive.button:focus { background-color: #daef47; } .ui.inverted.olive.buttons .active.button, .ui.inverted.olive.active.button { background-color: #daed59; } .ui.inverted.olive.buttons .button:active, .ui.inverted.olive.button:active { background-color: #cddf4d; } /* Inverted Basic */ .ui.inverted.olive.basic.buttons .button, .ui.inverted.olive.buttons .basic.button, .ui.inverted.olive.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.olive.basic.buttons .button:hover, .ui.inverted.olive.buttons .basic.button:hover, .ui.inverted.olive.basic.button:hover { box-shadow: 0px 0px 0px 2px #d8ea5c inset !important; color: #D9E778 !important; } .ui.inverted.olive.basic.buttons .button:focus, .ui.inverted.olive.basic.buttons .button:focus, .ui.inverted.olive.basic.button:focus { box-shadow: 0px 0px 0px 2px #daef47 inset !important; color: #D9E778 !important; } .ui.inverted.olive.basic.buttons .active.button, .ui.inverted.olive.buttons .basic.active.button, .ui.inverted.olive.basic.active.button { box-shadow: 0px 0px 0px 2px #daed59 inset !important; color: #D9E778 !important; } .ui.inverted.olive.basic.buttons .button:active, .ui.inverted.olive.buttons .basic.button:active, .ui.inverted.olive.basic.button:active { box-shadow: 0px 0px 0px 2px #cddf4d inset !important; color: #D9E778 !important; } /*--- Yellow ---*/ .ui.yellow.buttons .button, .ui.yellow.button { background-color: #FBBD08; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.yellow.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.yellow.buttons .button:hover, .ui.yellow.button:hover { background-color: #eaae00; color: #FFFFFF; text-shadow: none; } .ui.yellow.buttons .button:focus, .ui.yellow.button:focus { background-color: #daa300; color: #FFFFFF; text-shadow: none; } .ui.yellow.buttons .button:active, .ui.yellow.button:active { background-color: #cd9903; color: #FFFFFF; text-shadow: none; } .ui.yellow.buttons .active.button, .ui.yellow.buttons .active.button:active, .ui.yellow.active.button, .ui.yellow.button .active.button:active { background-color: #eaae00; color: #FFFFFF; text-shadow: none; } /* Basic */ .ui.basic.yellow.buttons .button, .ui.basic.yellow.button { box-shadow: 0px 0px 0px 1px #FBBD08 inset !important; color: #FBBD08 !important; } .ui.basic.yellow.buttons .button:hover, .ui.basic.yellow.button:hover { background: transparent !important; box-shadow: 0px 0px 0px 1px #eaae00 inset !important; color: #eaae00 !important; } .ui.basic.yellow.buttons .button:focus, .ui.basic.yellow.button:focus { background: transparent !important; box-shadow: 0px 0px 0px 1px #daa300 inset !important; color: #eaae00 !important; } .ui.basic.yellow.buttons .active.button, .ui.basic.yellow.active.button { background: transparent !important; box-shadow: 0px 0px 0px 1px #eaae00 inset !important; color: #cd9903 !important; } .ui.basic.yellow.buttons .button:active, .ui.basic.yellow.button:active { box-shadow: 0px 0px 0px 1px #cd9903 inset !important; color: #cd9903 !important; } .ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) { margin-left: -1px; } /* Inverted */ .ui.inverted.yellow.buttons .button, .ui.inverted.yellow.button { background-color: transparent; box-shadow: 0px 0px 0px 2px #FFE21F inset !important; color: #FFE21F; } .ui.inverted.yellow.buttons .button:hover, .ui.inverted.yellow.button:hover, .ui.inverted.yellow.buttons .button:focus, .ui.inverted.yellow.button:focus, .ui.inverted.yellow.buttons .button.active, .ui.inverted.yellow.button.active, .ui.inverted.yellow.buttons .button:active, .ui.inverted.yellow.button:active { box-shadow: none !important; color: rgba(0, 0, 0, 0.6); } .ui.inverted.yellow.buttons .button:hover, .ui.inverted.yellow.button:hover { background-color: #ffdf05; } .ui.inverted.yellow.buttons .button:focus, .ui.inverted.yellow.button:focus { background-color: #f5d500; } .ui.inverted.yellow.buttons .active.button, .ui.inverted.yellow.active.button { background-color: #ffdf05; } .ui.inverted.yellow.buttons .button:active, .ui.inverted.yellow.button:active { background-color: #ebcd00; } /* Inverted Basic */ .ui.inverted.yellow.basic.buttons .button, .ui.inverted.yellow.buttons .basic.button, .ui.inverted.yellow.basic.button { background-color: transparent; box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; color: #FFFFFF !important; } .ui.inverted.yellow.basic.buttons .button:hover, .ui.inverted.yellow.buttons .basic.button:hover, .ui.inverted.yellow.basic.button:hover { box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; color: #FFE21F !important; } .ui.inverted.yellow.basic.buttons .button:focus, .ui.inverted.yellow.basic.buttons .button:focus, .ui.inverted.yellow.basic.button:focus { box-shadow: 0px 0px 0px 2px #f5d500 inset !important; color: #FFE21F !important; } .ui.inverted.yellow.basic.buttons .active.button, .ui.inverted.yellow.buttons .basic.active.button, .ui.inverted.yellow.basic.active.button { box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; color: #FFE21F !important; } .ui.inverted.yellow.basic.buttons .button:active, .ui.inverted.yellow.buttons .basic.button:active, .ui.inverted.yellow.basic.button:active { box-shadow: 0px 0px 0px 2px #ebcd00 inset !important; color: #FFE21F !important; } /*------------------- Primary --------------------*/ .ui.primary.buttons .button, .ui.primary.button { background-color: #2185D0; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.primary.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.primary.buttons .button:hover, .ui.primary.button:hover { background-color: #1678c2; color: #FFFFFF; text-shadow: none; } .ui.primary.buttons .button:focus, .ui.primary.button:focus { background-color: #0d71bb; color: #FFFFFF; text-shadow: none; } .ui.primary.buttons .button:active, .ui.primary.button:active { background-color: #1a69a4; color: #FFFFFF; text-shadow: none; } .ui.primary.buttons .active.button, .ui.primary.active.button { background-color: #1279c6; color: #FFFFFF; text-shadow: none; } /*------------------- Secondary --------------------*/ .ui.secondary.buttons .button, .ui.secondary.button { background-color: #1B1C1D; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.secondary.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.secondary.buttons .button:hover, .ui.secondary.button:hover { background-color: #27292a; color: #FFFFFF; text-shadow: none; } .ui.secondary.buttons .button:focus, .ui.secondary.button:focus { background-color: #2e3032; color: #FFFFFF; text-shadow: none; } .ui.secondary.buttons .button:active, .ui.secondary.button:active { background-color: #343637; color: #FFFFFF; text-shadow: none; } .ui.secondary.buttons .active.button, .ui.secondary.active.button { background-color: #27292a; color: #FFFFFF; text-shadow: none; } /*--------------- Positive ----------------*/ .ui.positive.buttons .button, .ui.positive.button { background-color: #21BA45 !important; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.positive.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.positive.buttons .button:hover, .ui.positive.button:hover { background-color: #16ab39 !important; color: #FFFFFF; text-shadow: none; } .ui.positive.buttons .button:focus, .ui.positive.button:focus { background-color: #0ea432 !important; color: #FFFFFF; text-shadow: none; } .ui.positive.buttons .button:active, .ui.positive.button:active { background-color: #198f35 !important; color: #FFFFFF; text-shadow: none; } .ui.positive.buttons .active.button, .ui.positive.active.button, .ui.positive.buttons .active.button:active { background-color: #13ae38; color: #FFFFFF; text-shadow: none; } /*--------------- Negative ----------------*/ .ui.negative.buttons .button, .ui.negative.button { background-color: #DB2828 !important; color: #FFFFFF; text-shadow: none; background-image: none; } .ui.negative.button { box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.negative.buttons .button:hover, .ui.negative.button:hover { background-color: #d01919 !important; color: #FFFFFF; text-shadow: none; } .ui.negative.buttons .button:focus, .ui.negative.button:focus { background-color: #ca1010 !important; color: #FFFFFF; text-shadow: none; } .ui.negative.buttons .button:active, .ui.negative.button:active { background-color: #b21e1e !important; color: #FFFFFF; text-shadow: none; } .ui.negative.buttons .active.button, .ui.negative.active.button, .ui.negative.buttons .active.button:active { background-color: #d41515; color: #FFFFFF; text-shadow: none; } /******************************* Groups *******************************/ .ui.buttons { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; font-size: 0em; vertical-align: baseline; margin: 0em 0.25em 0em 0em; } .ui.buttons:not(.basic):not(.inverted) { box-shadow: none; } /* Clearfix */ .ui.buttons:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* Standard Group */ .ui.buttons .button { -webkit-box-flex: 1; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; margin: 0em; border-radius: 0em; margin: 0px 0px 0px 0px; } .ui.buttons > .ui.button:not(.basic):not(.inverted), .ui.buttons:not(.basic):not(.inverted) > .button { box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; } .ui.buttons .button:first-child { border-left: none; margin-left: 0em; border-top-left-radius: 0.28571429rem; border-bottom-left-radius: 0.28571429rem; } .ui.buttons .button:last-child { border-top-right-radius: 0.28571429rem; border-bottom-right-radius: 0.28571429rem; } /* Vertical Style */ .ui.vertical.buttons { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ui.vertical.buttons .button { display: block; float: none; width: 100%; margin: 0px 0px 0px 0px; box-shadow: none; } .ui.vertical.buttons .button:first-child, .ui.vertical.buttons .mini.button:first-child, .ui.vertical.buttons .tiny.button:first-child, .ui.vertical.buttons .small.button:first-child, .ui.vertical.buttons .massive.button:first-child, .ui.vertical.buttons .huge.button:first-child { border-radius: 0.28571429rem 0.28571429rem 0px 0px; } .ui.vertical.buttons .button:last-child, .ui.vertical.buttons .mini.button:last-child, .ui.vertical.buttons .tiny.button:last-child, .ui.vertical.buttons .small.button:last-child, .ui.vertical.buttons .massive.button:last-child, .ui.vertical.buttons .huge.button:last-child, .ui.vertical.buttons .gigantic.button:last-child { margin-bottom: 0px; border-radius: 0px 0px 0.28571429rem 0.28571429rem; } /******************************* Theme Overrides *******************************/ /******************************* Site Overrides *******************************/ </style> <style> /*! * # Semantic UI 2.1.7 - Dropdown * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Dropdown *******************************/ .ui.dropdown { cursor: pointer; position: relative; display: inline-block; outline: none; text-align: left; -webkit-transition: box-shadow 0.1s ease, width 0.1s ease; transition: box-shadow 0.1s ease, width 0.1s ease; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } /******************************* Content *******************************/ /*-------------- Menu ---------------*/ .ui.dropdown .menu { cursor: auto; position: absolute; display: none; outline: none; top: 100%; min-width: -webkit-max-content; min-width: -moz-max-content; min-width: max-content; margin: 0em; padding: 0em 0em; background: #FFFFFF; font-size: 1em; text-shadow: none; text-align: left; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); border: 1px solid rgba(34, 36, 38, 0.15); border-radius: 0.28571429rem; -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; z-index: 11; will-change: transform, opacity; } .ui.dropdown .menu > * { white-space: nowrap; } /*-------------- Hidden Input ---------------*/ .ui.dropdown > input:not(.search):first-child, .ui.dropdown > select { display: none !important; } /*-------------- Dropdown Icon ---------------*/ .ui.dropdown > .dropdown.icon { position: relative; width: auto; font-size: 0.85714286em; margin: 0em 0em 0em 1em; } .ui.dropdown .menu > .item .dropdown.icon { width: auto; float: right; margin: 0em 0em 0em 1em; } .ui.dropdown .menu > .item .dropdown.icon + .text { margin-right: 1em; } /*-------------- Text ---------------*/ .ui.dropdown > .text { display: inline-block; -webkit-transition: none; transition: none; } /*-------------- Menu Item ---------------*/ .ui.dropdown .menu > .item { position: relative; cursor: pointer; display: block; border: none; height: auto; text-align: left; border-top: none; line-height: 1em; color: rgba(0, 0, 0, 0.87); padding: 0.71428571rem 1.14285714rem !important; font-size: 1rem; text-transform: none; font-weight: normal; box-shadow: none; -webkit-touch-callout: none; } .ui.dropdown .menu > .item:first-child { border-top-width: 0px; } /*-------------- Floated Content ---------------*/ .ui.dropdown > .text > [class*="right floated"], .ui.dropdown .menu .item > [class*="right floated"] { float: right !important; margin-right: 0em !important; margin-left: 1em !important; } .ui.dropdown > .text > [class*="left floated"], .ui.dropdown .menu .item > [class*="left floated"] { float: left !important; margin-left: 0em !important; margin-right: 1em !important; } .ui.dropdown .menu .item > .icon.floated, .ui.dropdown .menu .item > .flag.floated, .ui.dropdown .menu .item > .image.floated, .ui.dropdown .menu .item > img.floated { margin-top: 0em; } /*-------------- Menu Divider ---------------*/ .ui.dropdown .menu > .header { margin: 1rem 0rem 0.75rem; padding: 0em 1.14285714rem; color: rgba(0, 0, 0, 0.85); font-size: 0.78571429em; font-weight: bold; text-transform: uppercase; } .ui.dropdown .menu > .divider { border-top: 1px solid rgba(34, 36, 38, 0.1); height: 0em; margin: 0.5em 0em; } .ui.dropdown .menu > .input { width: auto; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 1.14285714rem 0.71428571rem; min-width: 10rem; } .ui.dropdown .menu > .header + .input { margin-top: 0em; } .ui.dropdown .menu > .input:not(.transparent) input { padding: 0.5em 1em; } .ui.dropdown .menu > .input:not(.transparent) .button, .ui.dropdown .menu > .input:not(.transparent) .icon, .ui.dropdown .menu > .input:not(.transparent) .label { padding-top: 0.5em; padding-bottom: 0.5em; } /*----------------- Item Description -------------------*/ .ui.dropdown > .text > .description, .ui.dropdown .menu > .item > .description { float: right; margin: 0em 0em 0em 1em; color: rgba(0, 0, 0, 0.4); } /*----------------- Message -------------------*/ .ui.dropdown .menu > .message { padding: 0.71428571rem 1.14285714rem; font-weight: normal; } .ui.dropdown .menu > .message:not(.ui) { color: rgba(0, 0, 0, 0.4); } /*-------------- Sub Menu ---------------*/ .ui.dropdown .menu .menu { top: 0% !important; left: 100% !important; right: auto !important; margin: 0em 0em 0em -0.5em !important; border-radius: 0.28571429rem !important; z-index: 21 !important; } /* Hide Arrow */ .ui.dropdown .menu .menu:after { display: none; } /*-------------- Sub Elements ---------------*/ /* Icons / Flags / Labels / Image */ .ui.dropdown > .text > .icon, .ui.dropdown > .text > .label, .ui.dropdown > .text > .flag, .ui.dropdown > .text > img, .ui.dropdown > .text > .image { margin-top: 0em; } .ui.dropdown .menu > .item > .icon, .ui.dropdown .menu > .item > .label, .ui.dropdown .menu > .item > .flag, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > img { margin-top: 0em; } .ui.dropdown > .text > .icon, .ui.dropdown > .text > .label, .ui.dropdown > .text > .flag, .ui.dropdown > .text > img, .ui.dropdown > .text > .image, .ui.dropdown .menu > .item > .icon, .ui.dropdown .menu > .item > .label, .ui.dropdown .menu > .item > .flag, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > img { margin-left: 0em; float: none; margin-right: 0.71428571rem; } /*-------------- Image ---------------*/ .ui.dropdown > .text > img, .ui.dropdown > .text > .image, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > img { display: inline-block; vertical-align: middle; width: auto; max-height: 2em; } /******************************* Coupling *******************************/ /*-------------- Menu ---------------*/ /* Remove Menu Item Divider */ .ui.dropdown .ui.menu > .item:before, .ui.menu .ui.dropdown .menu > .item:before { display: none; } /* Prevent Menu Item Border */ .ui.menu .ui.dropdown .menu .active.item { border-left: none; } /* Automatically float dropdown menu right on last menu item */ .ui.menu .right.menu .dropdown:last-child .menu, .ui.menu .right.dropdown.item .menu, .ui.buttons > .ui.dropdown:last-child .menu { left: auto; right: 0em; } /*-------------- Label ---------------*/ /* Dropdown Menu */ .ui.label.dropdown .menu { min-width: 100%; } /*-------------- Button ---------------*/ /* No Margin On Icon Button */ .ui.dropdown.icon.button > .dropdown.icon { margin: 0em; } .ui.button.dropdown .menu { min-width: 100%; } /******************************* Types *******************************/ /*-------------- Selection ---------------*/ /* Displays like a select box */ .ui.selection.dropdown { cursor: pointer; word-wrap: break-word; line-height: 1em; white-space: normal; outline: 0; -webkit-transform: rotateZ(0deg); -ms-transform: rotate(0deg); transform: rotateZ(0deg); min-width: 14em; min-height: 2.7142em; background: #FFFFFF; display: inline-block; padding: 0.78571429em 2.6em 0.78571429em 1em; color: rgba(0, 0, 0, 0.87); box-shadow: none; border: 1px solid rgba(34, 36, 38, 0.15); border-radius: 0.28571429rem; -webkit-transition: box-shadow 0.1s ease, width 0.1s ease; transition: box-shadow 0.1s ease, width 0.1s ease; } .ui.selection.dropdown.visible, .ui.selection.dropdown.active { z-index: 10; } select.ui.dropdown { height: 38px; padding: 0.5em; border: 1px solid rgba(34, 36, 38, 0.15); visibility: visible; } .ui.selection.dropdown > .search.icon, .ui.selection.dropdown > .delete.icon, .ui.selection.dropdown > .dropdown.icon { cursor: pointer; position: absolute; top: auto; width: auto; z-index: 3; margin: -0.78571429em; padding: 0.78571429em; right: 1em; opacity: 0.8; -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; } /* Compact */ .ui.compact.selection.dropdown { min-width: 0px; } /* Selection Menu */ .ui.selection.dropdown .menu { overflow-x: hidden; overflow-y: auto; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-overflow-scrolling: touch; border-top-width: 0px !important; width: auto; outline: none; margin: 0px -1px; min-width: calc(100% + 2px ); width: calc(100% + 2px ); border-radius: 0em 0em 0.28571429rem 0.28571429rem; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; } .ui.selection.dropdown .menu:after, .ui.selection.dropdown .menu:before { display: none; } /*-------------- Message ---------------*/ .ui.selection.dropdown .menu > .message { padding: 0.71428571rem 1.14285714rem; } @media only screen and (max-width: 767px) { .ui.selection.dropdown .menu { max-height: 7.58571429rem; } } @media only screen and (min-width: 768px) { .ui.selection.dropdown .menu { max-height: 10.11428571rem; } } @media only screen and (min-width: 992px) { .ui.selection.dropdown .menu { max-height: 15.17142857rem; } } @media only screen and (min-width: 1920px) { .ui.selection.dropdown .menu { max-height: 20.22857143rem; } } /* Menu Item */ .ui.selection.dropdown .menu > .item { border-top: 1px solid #FAFAFA; padding: 0.71428571rem 1.14285714rem !important; white-space: normal; word-wrap: normal; } /* Hover */ .ui.selection.dropdown:hover { border-color: rgba(34, 36, 38, 0.35); box-shadow: none; } /* Active */ .ui.selection.active.dropdown { border-color: #96C8DA; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); } .ui.selection.active.dropdown .menu { border-color: #96C8DA; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); } /* Focus */ .ui.selection.dropdown:focus { border-color: #96C8DA; box-shadow: none; } .ui.selection.dropdown:focus .menu { border-color: #96C8DA; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); } /* Visible */ .ui.selection.visible.dropdown > .text:not(.default) { font-weight: normal; color: rgba(0, 0, 0, 0.8); } /* Visible Hover */ .ui.selection.active.dropdown:hover { border-color: #96C8DA; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); } .ui.selection.active.dropdown:hover .menu { border-color: #96C8DA; box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); } /* Dropdown Icon */ .ui.active.selection.dropdown > .dropdown.icon, .ui.visible.selection.dropdown > .dropdown.icon { opacity: 1; z-index: 3; } /* Connecting Border */ .ui.active.selection.dropdown { border-bottom-left-radius: 0em !important; border-bottom-right-radius: 0em !important; } /*-------------- Searchable ---------------*/ /* Search Selection */ .ui.search.dropdown { min-width: ''; } /* Search Dropdown */ .ui.search.dropdown > input.search { background: none transparent !important; border: none !important; box-shadow: none !important; cursor: pointer; top: 0em; left: 0em; width: 100%; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); padding: inherit; } /* Text Layering */ .ui.search.dropdown > input.search { position: absolute; z-index: 2; } .ui.search.dropdown > .text { cursor: text; position: relative; z-index: 3; } /* Search Selection */ .ui.search.selection.dropdown > input.search { line-height: 1.2142em; padding: 0.67861429em 2.6em 0.67861429em 1em; } /* Active/Visible Search */ .ui.search.dropdown.active > input.search, .ui.search.dropdown.visible > input.search { cursor: auto; } .ui.search.dropdown.active > .text, .ui.search.dropdown.visible > .text { pointer-events: none; } /* Filtered Text */ .ui.active.search.dropdown input.search:focus + .text .icon, .ui.active.search.dropdown input.search:focus + .text .flag { opacity: 0.45; } .ui.active.search.dropdown input.search:focus + .text { color: rgba(0, 0, 0, 0.4) !important; } /* Search Menu */ .ui.search.dropdown .menu { overflow-x: hidden; overflow-y: auto; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-overflow-scrolling: touch; } @media only screen and (max-width: 767px) { .ui.search.dropdown .menu { max-height: 7.58571429rem; } } @media only screen and (min-width: 768px) { .ui.search.dropdown .menu { max-height: 10.11428571rem; } } @media only screen and (min-width: 992px) { .ui.search.dropdown .menu { max-height: 15.17142857rem; } } @media only screen and (min-width: 1920px) { .ui.search.dropdown .menu { max-height: 20.22857143rem; } } /*-------------- Multiple ---------------*/ /* Multiple Selection */ .ui.multiple.dropdown { padding: 0.22620476em 2.6em 0.22620476em 0.28571429em; } .ui.multiple.dropdown .menu { cursor: auto; } /* Multiple Search Selection */ .ui.multiple.search.dropdown, .ui.multiple.search.dropdown > input.search { cursor: text; } /* Selection Label */ .ui.multiple.dropdown > .label { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: inline-block; vertical-align: top; white-space: normal; font-size: 1em; padding: 0.35714286em 0.71428571em; margin: 0.21428571em 0.28571429rem 0.21428571em 0em; box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; } /* Dropdown Icon */ .ui.multiple.dropdown .dropdown.icon { margin: 0em -0.71428571em 0em 0em; padding: 0.5em; } /* Text */ .ui.multiple.dropdown > .text { position: static; padding: 0; max-width: 100%; margin: 0.45240952em 0em 0.45240952em 0.71428571em; line-height: 1.2142em; } .ui.multiple.dropdown > .label ~ .text { display: none; } /*----------------- Multiple Search -----------------*/ /* Prompt Text */ .ui.multiple.search.dropdown > .text { display: inline-block; position: absolute; top: 0; left: 0; padding: inherit; margin: 0.45240952em 0em 0.45240952em 0.71428571em; line-height: 1.2142em; } .ui.multiple.search.dropdown > .label ~ .text { display: none; } /* Search */ .ui.multiple.search.dropdown > input.search { position: static; padding: 0; max-width: 100%; margin: 0.45240952em 0em 0.45240952em 0.71428571em; width: 2.2em; line-height: 1.2142em; } /*-------------- Inline ---------------*/ .ui.inline.dropdown { cursor: pointer; display: inline-block; color: inherit; } .ui.inline.dropdown .dropdown.icon { margin: 0em 0.5em 0em 0.25em; vertical-align: baseline; } .ui.inline.dropdown > .text { font-weight: bold; } .ui.inline.dropdown .menu { cursor: auto; margin-top: 0.25em; border-radius: 0.28571429rem; } /******************************* States *******************************/ /*-------------------- Active ----------------------*/ /* Menu Item Active */ .ui.dropdown .menu .active.item { background: transparent; font-weight: bold; color: rgba(0, 0, 0, 0.95); box-shadow: none; z-index: 12; } /*-------------------- Hover ----------------------*/ /* Menu Item Hover */ .ui.dropdown .menu > .item:hover { background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.95); z-index: 13; } /*-------------------- Loading ---------------------*/ /* Positioning */ .ui.loading.dropdown > i.icon:before, .ui.loading.dropdown > i.icon:after { left: 30% !important; } .ui.loading.dropdown > i.icon { top: 50% !important; } .ui.multiple.loading.dropdown > i.icon:before, .ui.multiple.loading.dropdown > i.icon:after { top: 0% !important; left: 0% !important; } .ui.loading.dropdown > i.icon:before { position: absolute; content: ''; top: 50%; left: 50%; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; border-radius: 500rem; border: 0.2em solid rgba(0, 0, 0, 0.1); } .ui.loading.dropdown > i.icon:after { position: absolute; content: ''; top: 50%; left: 50%; box-shadow: 0px 0px 0px 1px transparent; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; -webkit-animation: dropdown-spin 0.6s linear; animation: dropdown-spin 0.6s linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; border-radius: 500rem; border-color: #767676 transparent transparent; border-style: solid; border-width: 0.2em; } /* Coupling */ .ui.loading.dropdown.button > i.icon:before, .ui.loading.dropdown.button > i.icon:after { display: none; } @-webkit-keyframes dropdown-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes dropdown-spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /*-------------------- Default Text ----------------------*/ .ui.dropdown > .default.text, .ui.default.dropdown > .text { color: rgba(179, 179, 179, 0.7); } .ui.dropdown:hover > .default.text, .ui.default.dropdown:hover > .text { color: rgba(179, 179, 179, 0.7); } /*-------------------- Loading ----------------------*/ .ui.loading.dropdown > .text { -webkit-transition: none; transition: none; } /* Used To Check Position */ .ui.dropdown .loading.menu { display: block; visibility: hidden; z-index: -1; } /*-------------------- Keyboard Select ----------------------*/ /* Selected Item */ .ui.dropdown.selected, .ui.dropdown .menu .selected.item { background: rgba(0, 0, 0, 0.03); color: rgba(0, 0, 0, 0.95); } /*-------------------- Search Filtered ----------------------*/ /* Filtered Item */ .ui.dropdown > .filtered.text { visibility: hidden; } .ui.dropdown .filtered.item { display: none !important; } /*-------------------- Error ----------------------*/ .ui.dropdown.error, .ui.dropdown.error > .text, .ui.dropdown.error > .default.text { color: #9F3A38; } .ui.selection.dropdown.error { background: #FFF6F6; border-color: #E0B4B4; } .ui.selection.dropdown.error:hover { border-color: #E0B4B4; } .ui.dropdown.error > .menu, .ui.dropdown.error > .menu .menu { border-color: #E0B4B4; } .ui.dropdown.error > .menu > .item { color: #9F3A38; } .ui.multiple.selection.error.dropdown > .label { border-color: #E0B4B4; } /* Item Hover */ .ui.dropdown.error > .menu > .item:hover { background-color: #FFF2F2; } /* Item Active */ .ui.dropdown.error > .menu .active.item { background-color: #FDCFCF; } /*-------------------- Disabled ----------------------*/ /* Disabled */ .ui.disabled.dropdown, .ui.dropdown .menu > .disabled.item { cursor: default; pointer-events: none; opacity: 0.45; } /******************************* Variations *******************************/ /*-------------- Direction ---------------*/ /* Flyout Direction */ .ui.dropdown .menu { left: 0px; } /* Default Side (Right) */ .ui.dropdown .right.menu > .menu, .ui.dropdown .menu .right.menu { left: 100% !important; right: auto !important; border-radius: 0.28571429rem !important; } /* Left Flyout Menu */ .ui.dropdown > .left.menu .menu, .ui.dropdown .menu .left.menu { left: auto !important; right: 100% !important; border-radius: 0.28571429rem !important; } .ui.dropdown .item .left.dropdown.icon, .ui.dropdown .left.menu .item .dropdown.icon { width: auto; float: left; margin: 0em 0.71428571rem 0em 0em; } .ui.dropdown .item .left.dropdown.icon, .ui.dropdown .left.menu .item .dropdown.icon { width: auto; float: left; margin: 0em 0.71428571rem 0em 0em; } .ui.dropdown .item .left.dropdown.icon + .text, .ui.dropdown .left.menu .item .dropdown.icon + .text { margin-left: 1em; } /*-------------- Upward ---------------*/ /* Upward Main Menu */ .ui.upward.dropdown > .menu { top: auto; bottom: 100%; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08); border-radius: 0.28571429rem 0.28571429rem 0em 0em; } /* Upward Sub Menu */ .ui.dropdown .upward.menu { top: auto !important; bottom: 0 !important; } /* Active Upward */ .ui.simple.upward.active.dropdown, .ui.simple.upward.dropdown:hover { border-radius: 0.28571429rem 0.28571429rem 0em 0em !important; } .ui.upward.dropdown.button:not(.pointing):not(.floating).active { border-radius: 0.28571429rem 0.28571429rem 0em 0em; } /* Selection */ .ui.upward.selection.dropdown .menu { border-top-width: 1px !important; border-bottom-width: 0px !important; box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08); } .ui.upward.selection.dropdown:hover { box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05); } /* Active Upward */ .ui.active.upward.selection.dropdown { border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; } /* Visible Upward */ .ui.upward.selection.dropdown.visible { box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08); border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; } /* Visible Hover Upward */ .ui.upward.active.selection.dropdown:hover { box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05); } .ui.upward.active.selection.dropdown:hover .menu { box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08); } /*-------------- Simple ---------------*/ /* Selection Menu */ .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { overflow-x: hidden; overflow-y: auto; } .ui.scrolling.dropdown .menu { overflow-x: hidden; overflow-y: auto; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-overflow-scrolling: touch; min-width: 100% !important; width: auto !important; } .ui.dropdown .scrolling.menu { position: static; overflow-y: auto; border: none; box-shadow: none !important; border-radius: 0 !important; margin: 0 !important; min-width: 100% !important; width: auto !important; border-top: 1px solid rgba(34, 36, 38, 0.15); } .ui.scrolling.dropdown .menu .item.item.item, .ui.dropdown .scrolling.menu > .item.item.item { border-top: none; padding-right: calc( 1.14285714rem + 17px ) !important; } .ui.scrolling.dropdown .menu .item:first-child, .ui.dropdown .scrolling.menu .item:first-child { border-top: none; } .ui.dropdown > .animating.menu .scrolling.menu, .ui.dropdown > .visible.menu .scrolling.menu { display: block; } /* Scrollbar in IE */ @media all and (-ms-high-contrast: none) { .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { min-width: calc(100% - 17px ); } } @media only screen and (max-width: 767px) { .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { max-height: 9.71428571rem; } } @media only screen and (min-width: 768px) { .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { max-height: 14.57142857rem; } } @media only screen and (min-width: 992px) { .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { max-height: 19.42857143rem; } } @media only screen and (min-width: 1920px) { .ui.scrolling.dropdown .menu, .ui.dropdown .scrolling.menu { max-height: 19.42857143rem; } } /*-------------- Simple ---------------*/ /* Displays without javascript */ .ui.simple.dropdown .menu:before, .ui.simple.dropdown .menu:after { display: none; } .ui.simple.dropdown .menu { position: absolute; display: block; overflow: hidden; top: -9999px !important; opacity: 0; width: 0; height: 0; -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; } .ui.simple.active.dropdown, .ui.simple.dropdown:hover { border-bottom-left-radius: 0em !important; border-bottom-right-radius: 0em !important; } .ui.simple.active.dropdown > .menu, .ui.simple.dropdown:hover > .menu { overflow: visible; width: auto; height: auto; top: 100% !important; opacity: 1; } .ui.simple.dropdown > .menu > .item:active > .menu, .ui.simple.dropdown:hover > .menu > .item:hover > .menu { overflow: visible; width: auto; height: auto; top: 0% !important; left: 100% !important; opacity: 1; } .ui.simple.disabled.dropdown:hover .menu { display: none; height: 0px; width: 0px; overflow: hidden; } /* Visible */ .ui.simple.visible.dropdown > .menu { display: block; } /*-------------- Fluid ---------------*/ .ui.fluid.dropdown { display: block; width: 100%; min-width: 0em; } .ui.fluid.dropdown > .dropdown.icon { float: right; } /*-------------- Floating ---------------*/ .ui.floating.dropdown .menu { left: 0; right: auto; box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important; border-radius: 0.28571429rem !important; } .ui.floating.dropdown > .menu { margin-top: 0.5em !important; border-radius: 0.28571429rem !important; } /*-------------- Pointing ---------------*/ .ui.pointing.dropdown > .menu { top: 100%; margin-top: 0.71428571rem; border-radius: 0.28571429rem; } .ui.pointing.dropdown > .menu:after { display: block; position: absolute; pointer-events: none; content: ''; visibility: visible; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); width: 0.5em; height: 0.5em; box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15); background: #FFFFFF; z-index: 2; } .ui.pointing.dropdown > .menu:after { top: -0.25em; left: 50%; margin: 0em 0em 0em -0.25em; } /* Top Left Pointing */ .ui.top.left.pointing.dropdown > .menu { top: 100%; bottom: auto; left: 0%; right: auto; margin: 1em 0em 0em; } .ui.top.left.pointing.dropdown > .menu { top: 100%; bottom: auto; left: 0%; right: auto; margin: 1em 0em 0em; } .ui.top.left.pointing.dropdown > .menu:after { top: -0.25em; left: 1em; right: auto; margin: 0em; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } /* Top Right Pointing */ .ui.top.right.pointing.dropdown > .menu { top: 100%; bottom: auto; right: 0%; left: auto; margin: 1em 0em 0em; } .ui.top.right.pointing.dropdown > .menu:after { top: -0.25em; left: auto; right: 1em; margin: 0em; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } /* Left Pointing */ .ui.left.pointing.dropdown > .menu { top: 0%; left: 100%; right: auto; margin: 0em 0em 0em 1em; } .ui.left.pointing.dropdown > .menu:after { top: 1em; left: -0.25em; margin: 0em 0em 0em 0em; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } /* Right Pointing */ .ui.right.pointing.dropdown > .menu { top: 0%; left: auto; right: 100%; margin: 0em 1em 0em 0em; } .ui.right.pointing.dropdown > .menu:after { top: 1em; left: auto; right: -0.25em; margin: 0em 0em 0em 0em; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); } /* Bottom Pointing */ .ui.bottom.pointing.dropdown > .menu { top: auto; bottom: 100%; left: 0%; right: auto; margin: 0em 0em 1em; } .ui.bottom.pointing.dropdown > .menu:after { top: auto; bottom: -0.25em; right: auto; margin: 0em; -webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg); transform: rotate(-135deg); } /* Reverse Sub-Menu Direction */ .ui.bottom.pointing.dropdown > .menu .menu { top: auto !important; bottom: 0px !important; } /* Bottom Left */ .ui.bottom.left.pointing.dropdown > .menu { left: 0%; right: auto; } .ui.bottom.left.pointing.dropdown > .menu:after { left: 1em; right: auto; } /* Bottom Right */ .ui.bottom.right.pointing.dropdown > .menu { right: 0%; left: auto; } .ui.bottom.right.pointing.dropdown > .menu:after { left: auto; right: 1em; } /* Upward pointing */ .ui.upward.pointing.dropdown > .menu, .ui.upward.top.pointing.dropdown > .menu { top: auto; bottom: 100%; margin: 0em 0em 0.71428571rem; border-radius: 0.28571429rem; } .ui.upward.pointing.dropdown > .menu:after, .ui.upward.top.pointing.dropdown > .menu:after { top: 100%; bottom: auto; box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15); margin: -0.25em 0em 0em; } /******************************* Theme Overrides *******************************/ /* Dropdown Carets */ @font-face { font-family: 'Dropdown'; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff'); font-weight: normal; font-style: normal; } .ui.dropdown > .dropdown.icon { font-family: 'Dropdown'; line-height: 1; height: 1em; width: 1.23em; -webkit-backface-visibility: hidden; backface-visibility: hidden; font-weight: normal; font-style: normal; text-align: center; } .ui.dropdown > .dropdown.icon { width: auto; } .ui.dropdown > .dropdown.icon:before { content: '\f0d7'; } /* Sub Menu */ .ui.dropdown .menu .item .dropdown.icon:before { content: '\f0da' /*rtl:'\f0d9'*/; } .ui.dropdown .item .left.dropdown.icon:before, .ui.dropdown .left.menu .item .dropdown.icon:before { content: "\f0d9" /*rtl:"\f0da"*/; } /* Vertical Menu Dropdown */ .ui.vertical.menu .dropdown.item > .dropdown.icon:before { content: "\f0da" /*rtl:"\f0d9"*/; } /* Icons for Reference .dropdown.down.icon { content: "\f0d7"; } .dropdown.up.icon { content: "\f0d8"; } .dropdown.left.icon { content: "\f0d9"; } .dropdown.icon.icon { content: "\f0da"; } */ /******************************* User Overrides *******************************/ </style> <style> /*! * # Semantic UI 2.1.7 - Input * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Standard *******************************/ /*-------------------- Inputs ---------------------*/ .ui.input { position: relative; font-weight: normal; font-style: normal; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; color: rgba(0, 0, 0, 0.87); } .ui.input input { margin: 0em; max-width: 100%; -webkit-box-flex: 1; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); text-align: left; line-height: 1.2142em; font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; padding: 0.67861429em 1em; background: #FFFFFF; border: 1px solid rgba(34, 36, 38, 0.15); color: rgba(0, 0, 0, 0.87); border-radius: 0.28571429rem; -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease; transition: box-shadow 0.1s ease, border-color 0.1s ease; box-shadow: none; } /*-------------------- Placeholder ---------------------*/ /* browsers require these rules separate */ .ui.input input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.4); } .ui.input input::-moz-placeholder { color: rgba(0, 0, 0, 0.4); } .ui.input input::-ms-input-placeholder { color: rgba(0, 0, 0, 0.4); } /******************************* States *******************************/ /*-------------------- Disabled ---------------------*/ .ui.disabled.input, .ui.input input[disabled] { opacity: 0.45; } .ui.disabled.input input { pointer-events: none; } /*-------------------- Active ---------------------*/ .ui.input input:active, .ui.input.down input { border-color: rgba(0, 0, 0, 0.3); background: #FAFAFA; color: rgba(0, 0, 0, 0.87); box-shadow: none; } /*-------------------- Loading ---------------------*/ .ui.loading.loading.input > i.icon:before { position: absolute; content: ''; top: 50%; left: 50%; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; border-radius: 500rem; border: 0.2em solid rgba(0, 0, 0, 0.1); } .ui.loading.loading.input > i.icon:after { position: absolute; content: ''; top: 50%; left: 50%; margin: -0.64285714em 0em 0em -0.64285714em; width: 1.28571429em; height: 1.28571429em; -webkit-animation: button-spin 0.6s linear; animation: button-spin 0.6s linear; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; border-radius: 500rem; border-color: #767676 transparent transparent; border-style: solid; border-width: 0.2em; box-shadow: 0px 0px 0px 1px transparent; } /*-------------------- Focus ---------------------*/ .ui.input.focus input, .ui.input input:focus { border-color: #85B7D9; background: #FFFFFF; color: rgba(0, 0, 0, 0.8); box-shadow: none; } .ui.input.focus input::-webkit-input-placeholder, .ui.input input:focus::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.87); } .ui.input.focus input::-moz-placeholder, .ui.input input:focus::-moz-placeholder { color: rgba(0, 0, 0, 0.87); } .ui.input.focus input::-ms-input-placeholder, .ui.input input:focus::-ms-input-placeholder { color: rgba(0, 0, 0, 0.87); } /*-------------------- Error ---------------------*/ .ui.input.error input { background-color: #FFF6F6; border-color: #E0B4B4; color: #9F3A38; box-shadow: none; } /* Error Placeholder */ .ui.input.error input::-webkit-input-placeholder { color: #e7bdbc; } .ui.input.error input::-moz-placeholder { color: #e7bdbc; } .ui.input.error input::-ms-input-placeholder { color: #e7bdbc; } /* Focused Error Placeholder */ .ui.input.error input:focus::-webkit-input-placeholder { color: #da9796; } .ui.input.error input:focus::-moz-placeholder { color: #da9796; } .ui.input.error input:focus::-ms-input-placeholder { color: #da9796; } /******************************* Variations *******************************/ /*-------------------- Transparent ---------------------*/ .ui.transparent.input input { border-color: transparent !important; background-color: transparent !important; padding: 0em !important; box-shadow: none !important; } /* Transparent Icon */ .ui.transparent.icon.input > i.icon { width: 1.1em; } .ui.transparent.icon.input > input { padding-left: 0em !important; padding-right: 2em !important; } .ui.transparent[class*="left icon"].input > input { padding-left: 2em !important; padding-right: 0em !important; } /* Transparent Inverted */ .ui.transparent.inverted.input { color: #FFFFFF; } .ui.transparent.inverted.input input { color: inherit; } .ui.transparent.inverted.input input::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.5); } .ui.transparent.inverted.input input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .ui.transparent.inverted.input input::-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } /*-------------------- Icon ---------------------*/ .ui.icon.input > i.icon { cursor: default; position: absolute; line-height: 1; text-align: center; top: 0px; right: 0px; margin: 0em; height: 100%; width: 2.67142857em; opacity: 0.5; border-radius: 0em 0.28571429rem 0.28571429rem 0em; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; } .ui.icon.input > i.icon:not(.link) { pointer-events: none; } .ui.icon.input input { padding-right: 2.67142857em !important; } .ui.icon.input > i.icon:before, .ui.icon.input > i.icon:after { left: 0; position: absolute; text-align: center; top: 50%; width: 100%; margin-top: -0.5em; } .ui.icon.input > i.link.icon { cursor: pointer; } .ui.icon.input > i.circular.icon { top: 0.35em; right: 0.5em; } /* Left Icon Input */ .ui[class*="left icon"].input > i.icon { right: auto; left: 1px; border-radius: 0.28571429rem 0em 0em 0.28571429rem; } .ui[class*="left icon"].input > i.circular.icon { right: auto; left: 0.5em; } .ui[class*="left icon"].input > input { padding-left: 2.67142857em !important; padding-right: 1em !important; } /* Focus */ .ui.icon.input > input:focus ~ i.icon { opacity: 1; } /*-------------------- Labeled ---------------------*/ /* Adjacent Label */ .ui.labeled.input > .label { -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; margin: 0; font-size: 1em; } .ui.labeled.input > .label:not(.corner) { padding-top: 0.78571429em; padding-bottom: 0.78571429em; } /* Regular Label on Left */ .ui.labeled.input:not([class*="corner labeled"]) .label:first-child { border-top-right-radius: 0px; border-bottom-right-radius: 0px; } .ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input { border-top-left-radius: 0px; border-bottom-left-radius: 0px; border-left-color: transparent; } .ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus { border-left-color: #85B7D9; } /* Regular Label on Right */ .ui[class*="right labeled"].input input { border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-right-color: transparent !important; } .ui[class*="right labeled"].input input + .label { border-top-left-radius: 0px; border-bottom-left-radius: 0px; } .ui[class*="right labeled"].input input:focus { border-right-color: #85B7D9 !important; } /* Corner Label */ .ui.labeled.input .corner.label { top: 1px; right: 1px; font-size: 0.64285714em; border-radius: 0em 0.28571429rem 0em 0em; } /* Spacing with corner label */ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input input { padding-right: 2.5em !important; } .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input { padding-right: 3.25em !important; } .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon { margin-right: 1.25em; } /* Left Labeled */ .ui[class*="left corner labeled"].labeled.input input { padding-left: 2.5em !important; } .ui[class*="left corner labeled"].icon.input > input { padding-left: 3.25em !important; } .ui[class*="left corner labeled"].icon.input > .icon { margin-left: 1.25em; } /* Corner Label Position */ .ui.input > .ui.corner.label { top: 1px; right: 1px; } .ui.input > .ui.left.corner.label { right: auto; left: 1px; } /*-------------------- Action ---------------------*/ .ui.action.input > .button, .ui.action.input > .buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; } .ui.action.input > .button, .ui.action.input > .buttons > .button { padding-top: 0.78571429em; padding-bottom: 0.78571429em; margin: 0; } /* Button on Right */ .ui.action.input:not([class*="left action"]) > input { border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-right-color: transparent !important; } .ui.action.input:not([class*="left action"]) > .dropdown, .ui.action.input:not([class*="left action"]) > .button, .ui.action.input:not([class*="left action"]) > .buttons > .button { border-radius: 0px; } .ui.action.input:not([class*="left action"]) > .dropdown:last-child, .ui.action.input:not([class*="left action"]) > .button:last-child, .ui.action.input:not([class*="left action"]) > .buttons:last-child > .button { border-radius: 0px 0.28571429rem 0.28571429rem 0px; } /* Input Focus */ .ui.action.input:not([class*="left action"]) input:focus { border-right-color: #85B7D9 !important; } /* Button on Left */ .ui[class*="left action"].input > input { border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important; border-left-color: transparent !important; } .ui[class*="left action"].input > .dropdown, .ui[class*="left action"].input > .button, .ui[class*="left action"].input > .buttons > .button { border-radius: 0px; } .ui[class*="left action"].input > .dropdown:first-child, .ui[class*="left action"].input > .button:first-child, .ui[class*="left action"].input > .buttons:first-child > .button { border-radius: 0.28571429rem 0px 0px 0.28571429rem; } /* Input Focus */ .ui[class*="left action"].input > input:focus { border-left-color: #85B7D9 !important; } /*-------------------- Inverted ---------------------*/ /* Standard */ .ui.inverted.input input { border: none; } /*-------------------- Fluid ---------------------*/ .ui.fluid.input { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ui.fluid.input > input { width: 0px !important; } /*-------------------- Size ---------------------*/ .ui.mini.input { font-size: 0.71428571em; } .ui.small.input { font-size: 0.92857143em; } .ui.input { font-size: 1em; } .ui.large.input { font-size: 1.14285714em; } .ui.big.input { font-size: 1.28571429em; } .ui.huge.input { font-size: 1.42857143em; } .ui.massive.input { font-size: 1.71428571em; } /******************************* Theme Overrides *******************************/ /******************************* Site Overrides *******************************/ </style> <style> /*! * # Semantic UI 2.1.7 - Transition * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Transitions *******************************/ .transition { -webkit-animation-iteration-count: 1; animation-iteration-count: 1; -webkit-animation-duration: 300ms; animation-duration: 300ms; -webkit-animation-timing-function: ease; animation-timing-function: ease; -webkit-animation-fill-mode: both; animation-fill-mode: both; } /******************************* States *******************************/ /* Animating */ .animating.transition { -webkit-backface-visibility: hidden; backface-visibility: hidden; visibility: visible !important; } /* Loading */ .loading.transition { position: absolute; top: -99999px; left: -99999px; } /* Hidden */ .hidden.transition { display: none; visibility: hidden; } /* Visible */ .visible.transition { display: block !important; visibility: visible !important; /* backface-visibility: @backfaceVisibility; transform: @use3DAcceleration;*/ } /* Disabled */ .disabled.transition { -webkit-animation-play-state: paused; animation-play-state: paused; } /******************************* Variations *******************************/ .looping.transition { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } /******************************* Transitions *******************************/ /* Some transitions adapted from Animate CSS https://github.com/daneden/animate.css Additional transitions adapted from Glide by Nick Pettit - https://github.com/nickpettit/glide */ /*-------------- Browse ---------------*/ .transition.browse { -webkit-animation-duration: 500ms; animation-duration: 500ms; } .transition.browse.in { -webkit-animation-name: browseIn; animation-name: browseIn; } .transition.browse.out, .transition.browse.left.out { -webkit-animation-name: browseOutLeft; animation-name: browseOutLeft; } .transition.browse.right.out { -webkit-animation-name: browseOutRight; animation-name: browseOutRight; } /* In */ @-webkit-keyframes browseIn { 0% { -webkit-transform: scale(0.8) translateZ(0px); transform: scale(0.8) translateZ(0px); z-index: -1; } 10% { -webkit-transform: scale(0.8) translateZ(0px); transform: scale(0.8) translateZ(0px); z-index: -1; opacity: 0.7; } 80% { -webkit-transform: scale(1.05) translateZ(0px); transform: scale(1.05) translateZ(0px); opacity: 1; z-index: 999; } 100% { -webkit-transform: scale(1) translateZ(0px); transform: scale(1) translateZ(0px); z-index: 999; } } @keyframes browseIn { 0% { -webkit-transform: scale(0.8) translateZ(0px); transform: scale(0.8) translateZ(0px); z-index: -1; } 10% { -webkit-transform: scale(0.8) translateZ(0px); transform: scale(0.8) translateZ(0px); z-index: -1; opacity: 0.7; } 80% { -webkit-transform: scale(1.05) translateZ(0px); transform: scale(1.05) translateZ(0px); opacity: 1; z-index: 999; } 100% { -webkit-transform: scale(1) translateZ(0px); transform: scale(1) translateZ(0px); z-index: 999; } } /* Out */ @-webkit-keyframes browseOutLeft { 0% { z-index: 999; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); transform: translateX(0%) rotateY(0deg) rotateX(0deg); } 50% { z-index: -1; -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); } 80% { opacity: 1; } 100% { z-index: -1; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); opacity: 0; } } @keyframes browseOutLeft { 0% { z-index: 999; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); transform: translateX(0%) rotateY(0deg) rotateX(0deg); } 50% { z-index: -1; -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); } 80% { opacity: 1; } 100% { z-index: -1; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); opacity: 0; } } @-webkit-keyframes browseOutRight { 0% { z-index: 999; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); transform: translateX(0%) rotateY(0deg) rotateX(0deg); } 50% { z-index: 1; -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); } 80% { opacity: 1; } 100% { z-index: 1; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); opacity: 0; } } @keyframes browseOutRight { 0% { z-index: 999; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); transform: translateX(0%) rotateY(0deg) rotateX(0deg); } 50% { z-index: 1; -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); } 80% { opacity: 1; } 100% { z-index: 1; -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); opacity: 0; } } /*-------------- Drop ---------------*/ .drop.transition { -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; -webkit-animation-duration: 400ms; animation-duration: 400ms; -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); } .drop.transition.in { -webkit-animation-name: dropIn; animation-name: dropIn; } .drop.transition.out { -webkit-animation-name: dropOut; animation-name: dropOut; } /* Drop */ @-webkit-keyframes dropIn { 0% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } @keyframes dropIn { 0% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } @-webkit-keyframes dropOut { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } } @keyframes dropOut { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0; -webkit-transform: scale(0); transform: scale(0); } } /*-------------- Fade ---------------*/ .transition.fade.in { -webkit-animation-name: fadeIn; animation-name: fadeIn; } .transition[class*="fade up"].in { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; } .transition[class*="fade down"].in { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; } .transition[class*="fade left"].in { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; } .transition[class*="fade right"].in { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; } .transition.fade.out { -webkit-animation-name: fadeOut; animation-name: fadeOut; } .transition[class*="fade up"].out { -webkit-animation-name: fadeOutUp; animation-name: fadeOutUp; } .transition[class*="fade down"].out { -webkit-animation-name: fadeOutDown; animation-name: fadeOutDown; } .transition[class*="fade left"].out { -webkit-animation-name: fadeOutLeft; animation-name: fadeOutLeft; } .transition[class*="fade right"].out { -webkit-animation-name: fadeOutRight; animation-name: fadeOutRight; } /* In */ @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(10%); transform: translateY(10%); } 100% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(10%); transform: translateY(10%); } 100% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @-webkit-keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-10%); transform: translateY(-10%); } 100% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-10%); transform: translateY(-10%); } 100% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } } @-webkit-keyframes fadeInLeft { 0% { opacity: 0; -webkit-transform: translateX(10%); transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes fadeInLeft { 0% { opacity: 0; -webkit-transform: translateX(10%); transform: translateX(10%); } 100% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } } @-webkit-keyframes fadeInRight { 0% { opacity: 0; -webkit-transform: translateX(-10%); transform: translateX(-10%); } 100% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes fadeInRight { 0% { opacity: 0; -webkit-transform: translateX(-10%); transform: translateX(-10%); } 100% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } } /* Out */ @-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { opacity: 0; -webkit-transform: translateY(5%); transform: translateY(5%); } } @keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { opacity: 0; -webkit-transform: translateY(5%); transform: translateY(5%); } } @-webkit-keyframes fadeOutDown { 0% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { opacity: 0; -webkit-transform: translateY(-5%); transform: translateY(-5%); } } @keyframes fadeOutDown { 0% { opacity: 1; -webkit-transform: translateY(0%); transform: translateY(0%); } 100% { opacity: 0; -webkit-transform: translateY(-5%); transform: translateY(-5%); } } @-webkit-keyframes fadeOutLeft { 0% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { opacity: 0; -webkit-transform: translateX(5%); transform: translateX(5%); } } @keyframes fadeOutLeft { 0% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { opacity: 0; -webkit-transform: translateX(5%); transform: translateX(5%); } } @-webkit-keyframes fadeOutRight { 0% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { opacity: 0; -webkit-transform: translateX(-5%); transform: translateX(-5%); } } @keyframes fadeOutRight { 0% { opacity: 1; -webkit-transform: translateX(0%); transform: translateX(0%); } 100% { opacity: 0; -webkit-transform: translateX(-5%); transform: translateX(-5%); } } /*-------------- Flips ---------------*/ .flip.transition.in, .flip.transition.out { -webkit-animation-duration: 600ms; animation-duration: 600ms; } .horizontal.flip.transition.in { -webkit-animation-name: horizontalFlipIn; animation-name: horizontalFlipIn; } .horizontal.flip.transition.out { -webkit-animation-name: horizontalFlipOut; animation-name: horizontalFlipOut; } .vertical.flip.transition.in { -webkit-animation-name: verticalFlipIn; animation-name: verticalFlipIn; } .vertical.flip.transition.out { -webkit-animation-name: verticalFlipOut; animation-name: verticalFlipOut; } /* In */ @-webkit-keyframes horizontalFlipIn { 0% { -webkit-transform: perspective(2000px) rotateY(-90deg); transform: perspective(2000px) rotateY(-90deg); opacity: 0; } 100% { -webkit-transform: perspective(2000px) rotateY(0deg); transform: perspective(2000px) rotateY(0deg); opacity: 1; } } @keyframes horizontalFlipIn { 0% { -webkit-transform: perspective(2000px) rotateY(-90deg); transform: perspective(2000px) rotateY(-90deg); opacity: 0; } 100% { -webkit-transform: perspective(2000px) rotateY(0deg); transform: perspective(2000px) rotateY(0deg); opacity: 1; } } @-webkit-keyframes verticalFlipIn { 0% { -webkit-transform: perspective(2000px) rotateX(-90deg); transform: perspective(2000px) rotateX(-90deg); opacity: 0; } 100% { -webkit-transform: perspective(2000px) rotateX(0deg); transform: perspective(2000px) rotateX(0deg); opacity: 1; } } @keyframes verticalFlipIn { 0% { -webkit-transform: perspective(2000px) rotateX(-90deg); transform: perspective(2000px) rotateX(-90deg); opacity: 0; } 100% { -webkit-transform: perspective(2000px) rotateX(0deg); transform: perspective(2000px) rotateX(0deg); opacity: 1; } } /* Out */ @-webkit-keyframes horizontalFlipOut { 0% { -webkit-transform: perspective(2000px) rotateY(0deg); transform: perspective(2000px) rotateY(0deg); opacity: 1; } 100% { -webkit-transform: perspective(2000px) rotateY(90deg); transform: perspective(2000px) rotateY(90deg); opacity: 0; } } @keyframes horizontalFlipOut { 0% { -webkit-transform: perspective(2000px) rotateY(0deg); transform: perspective(2000px) rotateY(0deg); opacity: 1; } 100% { -webkit-transform: perspective(2000px) rotateY(90deg); transform: perspective(2000px) rotateY(90deg); opacity: 0; } } @-webkit-keyframes verticalFlipOut { 0% { -webkit-transform: perspective(2000px) rotateX(0deg); transform: perspective(2000px) rotateX(0deg); opacity: 1; } 100% { -webkit-transform: perspective(2000px) rotateX(-90deg); transform: perspective(2000px) rotateX(-90deg); opacity: 0; } } @keyframes verticalFlipOut { 0% { -webkit-transform: perspective(2000px) rotateX(0deg); transform: perspective(2000px) rotateX(0deg); opacity: 1; } 100% { -webkit-transform: perspective(2000px) rotateX(-90deg); transform: perspective(2000px) rotateX(-90deg); opacity: 0; } } /*-------------- Scale ---------------*/ .scale.transition.in { -webkit-animation-name: scaleIn; animation-name: scaleIn; } .scale.transition.out { -webkit-animation-name: scaleOut; animation-name: scaleOut; } @-webkit-keyframes scaleIn { 0% { opacity: 0; -webkit-transform: scale(0.8); transform: scale(0.8); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } @keyframes scaleIn { 0% { opacity: 0; -webkit-transform: scale(0.8); transform: scale(0.8); } 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } } /* Out */ @-webkit-keyframes scaleOut { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0; -webkit-transform: scale(0.9); transform: scale(0.9); } } @keyframes scaleOut { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0; -webkit-transform: scale(0.9); transform: scale(0.9); } } /*-------------- Fly ---------------*/ /* Inward */ .transition.fly { -webkit-animation-duration: 0.6s; animation-duration: 0.6s; -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .transition.fly.in { -webkit-animation-name: flyIn; animation-name: flyIn; } .transition[class*="fly up"].in { -webkit-animation-name: flyInUp; animation-name: flyInUp; } .transition[class*="fly down"].in { -webkit-animation-name: flyInDown; animation-name: flyInDown; } .transition[class*="fly left"].in { -webkit-animation-name: flyInLeft; animation-name: flyInLeft; } .transition[class*="fly right"].in { -webkit-animation-name: flyInRight; animation-name: flyInRight; } /* Outward */ .transition.fly.out { -webkit-animation-name: flyOut; animation-name: flyOut; } .transition[class*="fly up"].out { -webkit-animation-name: flyOutUp; animation-name: flyOutUp; } .transition[class*="fly down"].out { -webkit-animation-name: flyOutDown; animation-name: flyOutDown; } .transition[class*="fly left"].out { -webkit-animation-name: flyOutLeft; animation-name: flyOutLeft; } .transition[class*="fly right"].out { -webkit-animation-name: flyOutRight; animation-name: flyOutRight; } /* In */ @-webkit-keyframes flyIn { 0% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 40% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9); } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03); } 80% { -webkit-transform: scale3d(0.97, 0.97, 0.97); transform: scale3d(0.97, 0.97, 0.97); } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes flyIn { 0% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 40% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9); } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03); } 80% { -webkit-transform: scale3d(0.97, 0.97, 0.97); transform: scale3d(0.97, 0.97, 0.97); } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @-webkit-keyframes flyInUp { 0% { opacity: 0; -webkit-transform: translate3d(0, 1500px, 0); transform: translate3d(0, 1500px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes flyInUp { 0% { opacity: 0; -webkit-transform: translate3d(0, 1500px, 0); transform: translate3d(0, 1500px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-webkit-keyframes flyInDown { 0% { opacity: 0; -webkit-transform: translate3d(0, -1500px, 0); transform: translate3d(0, -1500px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); } 75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes flyInDown { 0% { opacity: 0; -webkit-transform: translate3d(0, -1500px, 0); transform: translate3d(0, -1500px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); } 75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes flyInLeft { 0% { opacity: 0; -webkit-transform: translate3d(1500px, 0, 0); transform: translate3d(1500px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); } 75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } 90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes flyInLeft { 0% { opacity: 0; -webkit-transform: translate3d(1500px, 0, 0); transform: translate3d(1500px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); } 75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } 90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @-webkit-keyframes flyInRight { 0% { opacity: 0; -webkit-transform: translate3d(-1500px, 0, 0); transform: translate3d(-1500px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); } 75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); } 100% { -webkit-transform: none; transform: none; } } @keyframes flyInRight { 0% { opacity: 0; -webkit-transform: translate3d(-1500px, 0, 0); transform: translate3d(-1500px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); } 75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); } 100% { -webkit-transform: none; transform: none; } } /* Out */ @-webkit-keyframes flyOut { 20% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9); } 50%, 55% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 100% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } } @keyframes flyOut { 20% { -webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9); } 50%, 55% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 100% { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } } @-webkit-keyframes flyOutUp { 20% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } @keyframes flyOutUp { 20% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } @-webkit-keyframes flyOutDown { 20% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, 20px, 0); transform: translate3d(0, 20px, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } @keyframes flyOutDown { 20% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, 20px, 0); transform: translate3d(0, 20px, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } @-webkit-keyframes flyOutRight { 20% { opacity: 1; -webkit-transform: translate3d(20px, 0, 0); transform: translate3d(20px, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } @keyframes flyOutRight { 20% { opacity: 1; -webkit-transform: translate3d(20px, 0, 0); transform: translate3d(20px, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } @-webkit-keyframes flyOutLeft { 20% { opacity: 1; -webkit-transform: translate3d(-20px, 0, 0); transform: translate3d(-20px, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } @keyframes flyOutLeft { 20% { opacity: 1; -webkit-transform: translate3d(-20px, 0, 0); transform: translate3d(-20px, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } /*-------------- Slide ---------------*/ .transition.slide.in, .transition[class*="slide down"].in { -webkit-animation-name: slideInY; animation-name: slideInY; -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; } .transition[class*="slide up"].in { -webkit-animation-name: slideInY; animation-name: slideInY; -webkit-transform-origin: bottom center; -ms-transform-origin: bottom center; transform-origin: bottom center; } .transition[class*="slide left"].in { -webkit-animation-name: slideInX; animation-name: slideInX; -webkit-transform-origin: center right; -ms-transform-origin: center right; transform-origin: center right; } .transition[class*="slide right"].in { -webkit-animation-name: slideInX; animation-name: slideInX; -webkit-transform-origin: center left; -ms-transform-origin: center left; transform-origin: center left; } .transition.slide.out, .transition[class*="slide down"].out { -webkit-animation-name: slideOutY; animation-name: slideOutY; -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; } .transition[class*="slide up"].out { -webkit-animation-name: slideOutY; animation-name: slideOutY; -webkit-transform-origin: bottom center; -ms-transform-origin: bottom center; transform-origin: bottom center; } .transition[class*="slide left"].out { -webkit-animation-name: slideOutX; animation-name: slideOutX; -webkit-transform-origin: center right; -ms-transform-origin: center right; transform-origin: center right; } .transition[class*="slide right"].out { -webkit-animation-name: slideOutX; animation-name: slideOutX; -webkit-transform-origin: center left; -ms-transform-origin: center left; transform-origin: center left; } /* In */ @-webkit-keyframes slideInY { 0% { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0); } 100% { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); } } @keyframes slideInY { 0% { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0); } 100% { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); } } @-webkit-keyframes slideInX { 0% { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0); } 100% { opacity: 1; -webkit-transform: scaleX(1); transform: scaleX(1); } } @keyframes slideInX { 0% { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0); } 100% { opacity: 1; -webkit-transform: scaleX(1); transform: scaleX(1); } } /* Out */ @-webkit-keyframes slideOutY { 0% { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); } 100% { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0); } } @keyframes slideOutY { 0% { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); } 100% { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0); } } @-webkit-keyframes slideOutX { 0% { opacity: 1; -webkit-transform: scaleX(1); transform: scaleX(1); } 100% { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0); } } @keyframes slideOutX { 0% { opacity: 1; -webkit-transform: scaleX(1); transform: scaleX(1); } 100% { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0); } } /*-------------- Swing ---------------*/ .transition.swing { -webkit-animation-duration: 800ms; animation-duration: 800ms; } .transition[class*="swing down"].in { -webkit-animation-name: swingInX; animation-name: swingInX; -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; } .transition[class*="swing up"].in { -webkit-animation-name: swingInX; animation-name: swingInX; -webkit-transform-origin: bottom center; -ms-transform-origin: bottom center; transform-origin: bottom center; } .transition[class*="swing left"].in { -webkit-animation-name: swingInY; animation-name: swingInY; -webkit-transform-origin: center right; -ms-transform-origin: center right; transform-origin: center right; } .transition[class*="swing right"].in { -webkit-animation-name: swingInY; animation-name: swingInY; -webkit-transform-origin: center left; -ms-transform-origin: center left; transform-origin: center left; } .transition.swing.out, .transition[class*="swing down"].out { -webkit-animation-name: swingOutX; animation-name: swingOutX; -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; } .transition[class*="swing up"].out { -webkit-animation-name: swingOutX; animation-name: swingOutX; -webkit-transform-origin: bottom center; -ms-transform-origin: bottom center; transform-origin: bottom center; } .transition[class*="swing left"].out { -webkit-animation-name: swingOutY; animation-name: swingOutY; -webkit-transform-origin: center right; -ms-transform-origin: center right; transform-origin: center right; } .transition[class*="swing right"].out { -webkit-animation-name: swingOutY; animation-name: swingOutY; -webkit-transform-origin: center left; -ms-transform-origin: center left; transform-origin: center left; } /* In */ @-webkit-keyframes swingInX { 0% { -webkit-transform: perspective(1000px) rotateX(90deg); transform: perspective(1000px) rotateX(90deg); opacity: 0; } 40% { -webkit-transform: perspective(1000px) rotateX(-30deg); transform: perspective(1000px) rotateX(-30deg); opacity: 1; } 60% { -webkit-transform: perspective(1000px) rotateX(15deg); transform: perspective(1000px) rotateX(15deg); } 80% { -webkit-transform: perspective(1000px) rotateX(-7.5deg); transform: perspective(1000px) rotateX(-7.5deg); } 100% { -webkit-transform: perspective(1000px) rotateX(0deg); transform: perspective(1000px) rotateX(0deg); } } @keyframes swingInX { 0% { -webkit-transform: perspective(1000px) rotateX(90deg); transform: perspective(1000px) rotateX(90deg); opacity: 0; } 40% { -webkit-transform: perspective(1000px) rotateX(-30deg); transform: perspective(1000px) rotateX(-30deg); opacity: 1; } 60% { -webkit-transform: perspective(1000px) rotateX(15deg); transform: perspective(1000px) rotateX(15deg); } 80% { -webkit-transform: perspective(1000px) rotateX(-7.5deg); transform: perspective(1000px) rotateX(-7.5deg); } 100% { -webkit-transform: perspective(1000px) rotateX(0deg); transform: perspective(1000px) rotateX(0deg); } } @-webkit-keyframes swingInY { 0% { -webkit-transform: perspective(1000px) rotateY(-90deg); transform: perspective(1000px) rotateY(-90deg); opacity: 0; } 40% { -webkit-transform: perspective(1000px) rotateY(30deg); transform: perspective(1000px) rotateY(30deg); opacity: 1; } 60% { -webkit-transform: perspective(1000px) rotateY(-17.5deg); transform: perspective(1000px) rotateY(-17.5deg); } 80% { -webkit-transform: perspective(1000px) rotateY(7.5deg); transform: perspective(1000px) rotateY(7.5deg); } 100% { -webkit-transform: perspective(1000px) rotateY(0deg); transform: perspective(1000px) rotateY(0deg); } } @keyframes swingInY { 0% { -webkit-transform: perspective(1000px) rotateY(-90deg); transform: perspective(1000px) rotateY(-90deg); opacity: 0; } 40% { -webkit-transform: perspective(1000px) rotateY(30deg); transform: perspective(1000px) rotateY(30deg); opacity: 1; } 60% { -webkit-transform: perspective(1000px) rotateY(-17.5deg); transform: perspective(1000px) rotateY(-17.5deg); } 80% { -webkit-transform: perspective(1000px) rotateY(7.5deg); transform: perspective(1000px) rotateY(7.5deg); } 100% { -webkit-transform: perspective(1000px) rotateY(0deg); transform: perspective(1000px) rotateY(0deg); } } /* Out */ @-webkit-keyframes swingOutX { 0% { -webkit-transform: perspective(1000px) rotateX(0deg); transform: perspective(1000px) rotateX(0deg); } 40% { -webkit-transform: perspective(1000px) rotateX(-7.5deg); transform: perspective(1000px) rotateX(-7.5deg); } 60% { -webkit-transform: perspective(1000px) rotateX(17.5deg); transform: perspective(1000px) rotateX(17.5deg); } 80% { -webkit-transform: perspective(1000px) rotateX(-30deg); transform: perspective(1000px) rotateX(-30deg); opacity: 1; } 100% { -webkit-transform: perspective(1000px) rotateX(90deg); transform: perspective(1000px) rotateX(90deg); opacity: 0; } } @keyframes swingOutX { 0% { -webkit-transform: perspective(1000px) rotateX(0deg); transform: perspective(1000px) rotateX(0deg); } 40% { -webkit-transform: perspective(1000px) rotateX(-7.5deg); transform: perspective(1000px) rotateX(-7.5deg); } 60% { -webkit-transform: perspective(1000px) rotateX(17.5deg); transform: perspective(1000px) rotateX(17.5deg); } 80% { -webkit-transform: perspective(1000px) rotateX(-30deg); transform: perspective(1000px) rotateX(-30deg); opacity: 1; } 100% { -webkit-transform: perspective(1000px) rotateX(90deg); transform: perspective(1000px) rotateX(90deg); opacity: 0; } } @-webkit-keyframes swingOutY { 0% { -webkit-transform: perspective(1000px) rotateY(0deg); transform: perspective(1000px) rotateY(0deg); } 40% { -webkit-transform: perspective(1000px) rotateY(7.5deg); transform: perspective(1000px) rotateY(7.5deg); } 60% { -webkit-transform: perspective(1000px) rotateY(-10deg); transform: perspective(1000px) rotateY(-10deg); } 80% { -webkit-transform: perspective(1000px) rotateY(30deg); transform: perspective(1000px) rotateY(30deg); opacity: 1; } 100% { -webkit-transform: perspective(1000px) rotateY(-90deg); transform: perspective(1000px) rotateY(-90deg); opacity: 0; } } @keyframes swingOutY { 0% { -webkit-transform: perspective(1000px) rotateY(0deg); transform: perspective(1000px) rotateY(0deg); } 40% { -webkit-transform: perspective(1000px) rotateY(7.5deg); transform: perspective(1000px) rotateY(7.5deg); } 60% { -webkit-transform: perspective(1000px) rotateY(-10deg); transform: perspective(1000px) rotateY(-10deg); } 80% { -webkit-transform: perspective(1000px) rotateY(30deg); transform: perspective(1000px) rotateY(30deg); opacity: 1; } 100% { -webkit-transform: perspective(1000px) rotateY(-90deg); transform: perspective(1000px) rotateY(-90deg); opacity: 0; } } /******************************* Static Animations *******************************/ /*-------------- Emphasis ---------------*/ .flash.transition { -webkit-animation-duration: 750ms; animation-duration: 750ms; -webkit-animation-name: flash; animation-name: flash; } .shake.transition { -webkit-animation-duration: 750ms; animation-duration: 750ms; -webkit-animation-name: shake; animation-name: shake; } .bounce.transition { -webkit-animation-duration: 750ms; animation-duration: 750ms; -webkit-animation-name: bounce; animation-name: bounce; } .tada.transition { -webkit-animation-duration: 750ms; animation-duration: 750ms; -webkit-animation-name: tada; animation-name: tada; } .pulse.transition { -webkit-animation-duration: 500ms; animation-duration: 500ms; -webkit-animation-name: pulse; animation-name: pulse; } .jiggle.transition { -webkit-animation-duration: 750ms; animation-duration: 750ms; -webkit-animation-name: jiggle; animation-name: jiggle; } /* Flash */ @-webkit-keyframes flash { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } @keyframes flash { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } /* Shake */ @-webkit-keyframes shake { 0%, 100% { -webkit-transform: translateX(0); transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 20%, 40%, 60%, 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } } @keyframes shake { 0%, 100% { -webkit-transform: translateX(0); transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 20%, 40%, 60%, 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } } /* Bounce */ @-webkit-keyframes bounce { 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 60% { -webkit-transform: translateY(-15px); transform: translateY(-15px); } } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 60% { -webkit-transform: translateY(-15px); transform: translateY(-15px); } } /* Tada */ @-webkit-keyframes tada { 0% { -webkit-transform: scale(1); transform: scale(1); } 10%, 20% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 100% { -webkit-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } @keyframes tada { 0% { -webkit-transform: scale(1); transform: scale(1); } 10%, 20% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 100% { -webkit-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } /* Pulse */ @-webkit-keyframes pulse { 0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } 50% { -webkit-transform: scale(0.9); transform: scale(0.9); opacity: 0.7; } 100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } @keyframes pulse { 0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } 50% { -webkit-transform: scale(0.9); transform: scale(0.9); opacity: 0.7; } 100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } /* Rubberband */ @-webkit-keyframes jiggle { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(0.95, 1.05, 1); transform: scale3d(0.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, 0.95, 1); transform: scale3d(1.05, 0.95, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes jiggle { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(0.95, 1.05, 1); transform: scale3d(0.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, 0.95, 1); transform: scale3d(1.05, 0.95, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } /******************************* Site Overrides *******************************/ </style> <!-- css below has been added inline <link rel="stylesheet" href="./UI-Input/input.css"> <link rel="stylesheet" href="./UI-Dropdown/dropdown.css"> <link rel="stylesheet" href="./UI-Form/form.css"> <link rel="stylesheet" href="./UI-Transition/transition.css"> --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Neurite, by Linkgo LLC"> <title>Neurite - Device data sharing made simple.</title> <!--<link rel="stylesheet" href="pure-min.css">--> <!--<link rel="stylesheet" href="grids-responsive-min.css">--> <!--<link href='http://fonts.lug.ustc.edu.cn/css?family=Quicksand|PT+Sans|Ubuntu|Open+Sans' rel='stylesheet' type='text/css'>--> <!--<link href='http://fonts.useso.com/css?family=Quicksand|PT+Sans|Ubuntu|Open+Sans' rel='stylesheet' type='text/css'>--> <!--link href='http://fonts.googleapis.com/css?family=Quicksand|PT+Sans|Ubuntu|Open+Sans' rel='stylesheet' type='text/css'--> <!--<link rel="stylesheet" href="main.css">--> <link rel="shortcut icon" type="image/ico" href="favicon.ico"> <style> /******************************* global style for neurite AP web *******************************/ *,:after,:before { box-sizing: inherit; } /* quicksand-regular - latin */ @font-face { font-family: 'Quicksand'; font-style: normal; font-weight: 400; src: local('Quicksand Regular'), local('Quicksand-Regular'), url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'); } /* quicksand-700 - latin */ @font-face { font-family: 'Quicksand'; font-style: normal; font-weight: 700; src: local('Quicksand Bold'), local('Quicksand-Bold'), url(data:application/x-font-ttf;charset=utf-8;base64,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AAQAHABwAAMAAQQJAAUAIACMAAMAAQQJAAYAHACsAFEAdQBpAGMAawBzAGEAbgBkAEIAbwBsAGQARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABRAHUAaQBjAGsAcwBhAG4AZAAgAEIAbwBsAGQAIAA6ACAAMQAxAC0AMQAwAC0AMgAwADEAMQBRAHUAaQBjAGsAcwBhAG4AZAAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADAAMAAxAC4AMAAwADEAIABRAHUAaQBjAGsAcwBhAG4AZAAtAEIAbwBsAGQAAAACAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAL8AAAABAAIAAwAEAAUABgAHAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCjAIQAhQCWAIYAjgCLAJ0AqQCKAIMAjQDeAKoAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugC3ALYAtQC0AAgAxQCxAIcAsgDZALMAvwDEANgAvgCwAAAAAf//AA8AAQAAAAAAAAAAAAwAAQAAAAEAAA==) format('truetype'); } html { box-sizing: border-box; font-family: Quicksand, sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 14px } body { margin: auto; font-size: 16px; } .neurite-home-menu { padding: 0.5em; background: whitesmoke; opacity: 0.9; text-align: right; } .neurite-menu-heading { float: left; font-weight: 400; font-size: 120%; color: #1f8dd6; text-transform: none; display: inline-block; zoom: 1; vertical-align: middle; padding: .5em 1em; text-decoration: none; white-space: nowrap; } .neurite-menu-list { list-style-type: none; margin-right: 5%; } .neurite-menu-list li { color: rgb(0, 0, 0); } .neurite-menu-list a { text-decoration: none; color: #1f8dd6; } .neurite-menu-list a:hover { color: #24AED6; } .neurite-splash-container { margin-left: auto; margin-right: auto; margin-top: 12%; text-align: center; } .neurite-splash-head { font-size: 250%; color: #1f8dd6; } .neurite-splash-subhead { font-size: 120%; color: #1f8dd6; line-height: 1.25em; margin-left: 5%; margin-right: 5%; } .neurite-main-form { margin-left: auto; margin-right: auto; } .neurite-main-form .field { margin-left: auto !important; margin-right: auto !important; margin-bottom: 1em; max-width:222px; } hr { margin-top: 5%; margin-bottom: 5%; margin-left: 10%; margin-right: 10%; opacity: 0.5; } .neurite.left.button { display: inline-block; float: left; } .neurite.right.button { display: inline-block; float: right; } </style> </head> <body> <div class="header"> <div class="neurite-home-menu"> <a class="neurite-menu-heading" href="http://linkgo.io">linkgo.io</a> <ul class="neurite-menu-list"> <li> <a href="mailto:hi@linkgo.io?Subject=Greetings!" class="pure-menu-link">Contact</a> </li> </ul> </div> </div> <div class="neurite-splash-container"> <div class="neurite-splash"> <h1 class="neurite-splash-head">Neurite</h1> <p class="neurite-splash-subhead"> Data sharing among devices has never been this easy. </p> </div> </div> <hr> <div class="neurite-main-form ui form"> <div class = "field"> <div class="ui search selection dropdown" id="ssid"> <i class="dropdown icon"></i> <div style="font-family: Quicksand, sans-serif;" class="default text">SSID</div> <div class="menu" id="ssid_menu"> </div> </div> </div> <div class = "field"> <input style="font-family: Quicksand, sans-serif;" id="password" name="password" type="password" placeholder="Password"> </div> <div class = "field"> <button style="font-family: Quicksand, sans-serif;" class="neurite left ui orange button" id="scan" onclick="wifiscan()">Scan</button> <button style="display:none" class="neurite left ui orange loading button" id="scanload">Scan</button> <button style="font-family: Quicksand, sans-serif;" class="neurite right ui primary button" onclick="saveWifi()">Save</button> </div> </div> <script> /*! jQuery v1.12.3 | (c) jQuery Foundation | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; }return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ra(b),i=l.boxSizing&&"border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Sa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Oa.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+eb(b,c,e||(i?"border":"content"),f,h)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){ return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0; })}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n}); </script> <script> /*! * # Semantic UI 2.1.7 - Dropdown * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ ;(function ( $, window, document, undefined ) { "use strict"; $.fn.dropdown = function(parameters) { var $allModules = $(this), $document = $(document), moduleSelector = $allModules.selector || '', hasTouch = ('ontouchstart' in document.documentElement), time = new Date().getTime(), performance = [], query = arguments[0], methodInvoked = (typeof query == 'string'), queryArguments = [].slice.call(arguments, 1), returnedValue ; $allModules .each(function(elementIndex) { var settings = ( $.isPlainObject(parameters) ) ? $.extend(true, {}, $.fn.dropdown.settings, parameters) : $.extend({}, $.fn.dropdown.settings), className = settings.className, message = settings.message, fields = settings.fields, keys = settings.keys, metadata = settings.metadata, namespace = settings.namespace, regExp = settings.regExp, selector = settings.selector, error = settings.error, templates = settings.templates, eventNamespace = '.' + namespace, moduleNamespace = 'module-' + namespace, $module = $(this), $context = $(settings.context), $text = $module.find(selector.text), $search = $module.find(selector.search), $input = $module.find(selector.input), $icon = $module.find(selector.icon), $combo = ($module.prev().find(selector.text).length > 0) ? $module.prev().find(selector.text) : $module.prev(), $menu = $module.children(selector.menu), $item = $menu.find(selector.item), activated = false, itemActivated = false, internalChange = false, element = this, instance = $module.data(moduleNamespace), initialLoad, pageLostFocus, elementNamespace, id, selectObserver, menuObserver, module ; module = { initialize: function() { module.debug('Initializing dropdown', settings); if( module.is.alreadySetup() ) { module.setup.reference(); } else { module.setup.layout(); module.refreshData(); module.save.defaults(); module.restore.selected(); module.create.id(); module.bind.events(); module.observeChanges(); module.instantiate(); } }, instantiate: function() { module.verbose('Storing instance of dropdown', module); instance = module; $module .data(moduleNamespace, module) ; }, destroy: function() { module.verbose('Destroying previous dropdown', $module); module.remove.tabbable(); $module .off(eventNamespace) .removeData(moduleNamespace) ; $menu .off(eventNamespace) ; $document .off(elementNamespace) ; if(selectObserver) { selectObserver.disconnect(); } if(menuObserver) { menuObserver.disconnect(); } }, observeChanges: function() { if('MutationObserver' in window) { selectObserver = new MutationObserver(function(mutations) { module.debug('<select> modified, recreating menu'); module.setup.select(); }); menuObserver = new MutationObserver(function(mutations) { module.debug('Menu modified, updating selector cache'); module.refresh(); }); if(module.has.input()) { selectObserver.observe($input[0], { childList : true, subtree : true }); } if(module.has.menu()) { menuObserver.observe($menu[0], { childList : true, subtree : true }); } module.debug('Setting up mutation observer', selectObserver, menuObserver); } }, create: { id: function() { id = (Math.random().toString(16) + '000000000').substr(2, 8); elementNamespace = '.' + id; module.verbose('Creating unique id for element', id); }, userChoice: function(values) { var $userChoices, $userChoice, isUserValue, html ; values = values || module.get.userValues(); if(!values) { return false; } values = $.isArray(values) ? values : [values] ; $.each(values, function(index, value) { if(module.get.item(value) === false) { html = settings.templates.addition( module.add.variables(message.addResult, value) ); $userChoice = $('<div />') .html(html) .attr('data-' + metadata.value, value) .attr('data-' + metadata.text, value) .addClass(className.addition) .addClass(className.item) ; $userChoices = ($userChoices === undefined) ? $userChoice : $userChoices.add($userChoice) ; module.verbose('Creating user choices for value', value, $userChoice); } }); return $userChoices; }, userLabels: function(value) { var userValues = module.get.userValues() ; if(userValues) { module.debug('Adding user labels', userValues); $.each(userValues, function(index, value) { module.verbose('Adding custom user value'); module.add.label(value, value); }); } }, menu: function() { $menu = $('<div />') .addClass(className.menu) .appendTo($module) ; } }, search: function(query) { query = (query !== undefined) ? query : module.get.query() ; module.verbose('Searching for query', query); module.filter(query); }, select: { firstUnfiltered: function() { module.verbose('Selecting first non-filtered element'); module.remove.selectedItem(); $item .not(selector.unselectable) .eq(0) .addClass(className.selected) ; }, nextAvailable: function($selected) { $selected = $selected.eq(0); var $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0), $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0), hasNext = ($nextAvailable.length > 0) ; if(hasNext) { module.verbose('Moving selection to', $nextAvailable); $nextAvailable.addClass(className.selected); } else { module.verbose('Moving selection to', $prevAvailable); $prevAvailable.addClass(className.selected); } } }, setup: { api: function() { var apiSettings = { debug : settings.debug, on : false } ; module.verbose('First request, initializing API'); $module .api(apiSettings) ; }, layout: function() { if( $module.is('select') ) { module.setup.select(); module.setup.returnedObject(); } if( !module.has.menu() ) { module.create.menu(); } if( module.is.search() && !module.has.search() ) { module.verbose('Adding search input'); $search = $('<input />') .addClass(className.search) .prop('autocomplete', 'off') .insertBefore($text) ; } if(settings.allowTab) { module.set.tabbable(); } }, select: function() { var selectValues = module.get.selectValues() ; module.debug('Dropdown initialized on a select', selectValues); if( $module.is('select') ) { $input = $module; } // see if select is placed correctly already if($input.parent(selector.dropdown).length > 0) { module.debug('UI dropdown already exists. Creating dropdown menu only'); $module = $input.closest(selector.dropdown); if( !module.has.menu() ) { module.create.menu(); } $menu = $module.children(selector.menu); module.setup.menu(selectValues); } else { module.debug('Creating entire dropdown from select'); $module = $('<div />') .attr('class', $input.attr('class') ) .addClass(className.selection) .addClass(className.dropdown) .html( templates.dropdown(selectValues) ) .insertBefore($input) ; if($input.hasClass(className.multiple) && $input.prop('multiple') === false) { module.error(error.missingMultiple); $input.prop('multiple', true); } if($input.is('[multiple]')) { module.set.multiple(); } if ($input.prop('disabled')) { module.debug('Disabling dropdown') $module.addClass(className.disabled) } $input .removeAttr('class') .detach() .prependTo($module) ; } module.refresh(); }, menu: function(values) { $menu.html( templates.menu(values, fields)); $item = $menu.find(selector.item); }, reference: function() { module.debug('Dropdown behavior was called on select, replacing with closest dropdown'); // replace module reference $module = $module.parent(selector.dropdown); module.refresh(); module.setup.returnedObject(); // invoke method in context of current instance if(methodInvoked) { instance = module; module.invoke(query); } }, returnedObject: function() { var $firstModules = $allModules.slice(0, elementIndex), $lastModules = $allModules.slice(elementIndex + 1) ; // adjust all modules to use correct reference $allModules = $firstModules.add($module).add($lastModules); } }, refresh: function() { module.refreshSelectors(); module.refreshData(); }, refreshSelectors: function() { module.verbose('Refreshing selector cache'); $text = $module.find(selector.text); $search = $module.find(selector.search); $input = $module.find(selector.input); $icon = $module.find(selector.icon); $combo = ($module.prev().find(selector.text).length > 0) ? $module.prev().find(selector.text) : $module.prev() ; $menu = $module.children(selector.menu); $item = $menu.find(selector.item); }, refreshData: function() { module.verbose('Refreshing cached metadata'); $item .removeData(metadata.text) .removeData(metadata.value) ; $module .removeData(metadata.defaultText) .removeData(metadata.defaultValue) .removeData(metadata.placeholderText) ; }, toggle: function() { module.verbose('Toggling menu visibility'); if( !module.is.active() ) { module.show(); } else { module.hide(); } }, show: function(callback) { callback = $.isFunction(callback) ? callback : function(){} ; if( module.can.show() && !module.is.active() ) { module.debug('Showing dropdown'); if(module.is.multiple() && !module.has.search() && module.is.allFiltered()) { return true; } if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) { module.remove.message(); } if(settings.onShow.call(element) !== false) { module.animate.show(function() { if( module.can.click() ) { module.bind.intent(); } module.set.visible(); callback.call(element); }); } } }, hide: function(callback) { callback = $.isFunction(callback) ? callback : function(){} ; if( module.is.active() ) { module.debug('Hiding dropdown'); if(settings.onHide.call(element) !== false) { module.animate.hide(function() { module.remove.visible(); callback.call(element); }); } } }, hideOthers: function() { module.verbose('Finding other dropdowns to hide'); $allModules .not($module) .has(selector.menu + '.' + className.visible) .dropdown('hide') ; }, hideMenu: function() { module.verbose('Hiding menu instantaneously'); module.remove.active(); module.remove.visible(); $menu.transition('hide'); }, hideSubMenus: function() { var $subMenus = $menu.children(selector.item).find(selector.menu) ; module.verbose('Hiding sub menus', $subMenus); $subMenus.transition('hide'); }, bind: { events: function() { if(hasTouch) { module.bind.touchEvents(); } module.bind.keyboardEvents(); module.bind.inputEvents(); module.bind.mouseEvents(); }, touchEvents: function() { module.debug('Touch device detected binding additional touch events'); if( module.is.searchSelection() ) { // do nothing special yet } else if( module.is.single() ) { $module .on('touchstart' + eventNamespace, module.event.test.toggle) ; } $menu .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter) ; }, keyboardEvents: function() { module.verbose('Binding keyboard events'); $module .on('keydown' + eventNamespace, module.event.keydown) ; if( module.has.search() ) { $module .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input) ; } if( module.is.multiple() ) { $document .on('keydown' + elementNamespace, module.event.document.keydown) ; } }, inputEvents: function() { module.verbose('Binding input change events'); $module .on('change' + eventNamespace, selector.input, module.event.change) ; }, mouseEvents: function() { module.verbose('Binding mouse events'); if(module.is.multiple()) { $module .on('click' + eventNamespace, selector.label, module.event.label.click) .on('click' + eventNamespace, selector.remove, module.event.remove.click) ; } if( module.is.searchSelection() ) { $module .on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown) .on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup) .on('click' + eventNamespace, selector.icon, module.event.icon.click) .on('click' + eventNamespace, selector.search, module.show) .on('focus' + eventNamespace, selector.search, module.event.search.focus) .on('blur' + eventNamespace, selector.search, module.event.search.blur) .on('click' + eventNamespace, selector.text, module.event.text.focus) ; if(module.is.multiple()) { $module .on('click' + eventNamespace, module.event.click) ; } } else { if(settings.on == 'click') { $module .on('click' + eventNamespace, selector.icon, module.event.icon.click) .on('click' + eventNamespace, module.event.test.toggle) ; } else if(settings.on == 'hover') { $module .on('mouseenter' + eventNamespace, module.delay.show) .on('mouseleave' + eventNamespace, module.delay.hide) ; } else { $module .on(settings.on + eventNamespace, module.toggle) ; } $module .on('mousedown' + eventNamespace, module.event.mousedown) .on('mouseup' + eventNamespace, module.event.mouseup) .on('focus' + eventNamespace, module.event.focus) .on('blur' + eventNamespace, module.event.blur) ; } $menu .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter) .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave) .on('click' + eventNamespace, selector.item, module.event.item.click) ; }, intent: function() { module.verbose('Binding hide intent event to document'); if(hasTouch) { $document .on('touchstart' + elementNamespace, module.event.test.touch) .on('touchmove' + elementNamespace, module.event.test.touch) ; } $document .on('click' + elementNamespace, module.event.test.hide) ; } }, unbind: { intent: function() { module.verbose('Removing hide intent event from document'); if(hasTouch) { $document .off('touchstart' + elementNamespace) .off('touchmove' + elementNamespace) ; } $document .off('click' + elementNamespace) ; } }, filter: function(query) { var searchTerm = (query !== undefined) ? query : module.get.query(), afterFiltered = function() { if(module.is.multiple()) { module.filterActive(); } module.select.firstUnfiltered(); if( module.has.allResultsFiltered() ) { if( settings.onNoResults.call(element, searchTerm) ) { if(!settings.allowAdditions) { module.verbose('All items filtered, showing message', searchTerm); module.add.message(message.noResults); } } else { module.verbose('All items filtered, hiding dropdown', searchTerm); module.hideMenu(); } } else { module.remove.message(); } if(settings.allowAdditions) { module.add.userSuggestion(query); } if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) { module.show(); } } ; if(settings.useLabels && module.has.maxSelections()) { return; } if(settings.apiSettings) { if( module.can.useAPI() ) { module.queryRemote(searchTerm, function() { afterFiltered(); }); } else { module.error(error.noAPI); } } else { module.filterItems(searchTerm); afterFiltered(); } }, queryRemote: function(query, callback) { var apiSettings = { errorDuration : false, throttle : settings.throttle, urlData : { query: query }, onError: function() { module.add.message(message.serverError); callback(); }, onFailure: function() { module.add.message(message.serverError); callback(); }, onSuccess : function(response) { module.remove.message(); module.setup.menu({ values: response[fields.remoteValues] }); callback(); } } ; if( !$module.api('get request') ) { module.setup.api(); } apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings); $module .api('setting', apiSettings) .api('query') ; }, filterItems: function(query) { var searchTerm = (query !== undefined) ? query : module.get.query(), results = null, escapedTerm = module.escape.regExp(searchTerm), beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm') ; // avoid loop if we're matching nothing if( module.has.query() ) { results = []; module.verbose('Searching for matching values', searchTerm); $item .each(function(){ var $choice = $(this), text, value ; if(settings.match == 'both' || settings.match == 'text') { text = String(module.get.choiceText($choice, false)); if(text.search(beginsWithRegExp) !== -1) { results.push(this); return true; } else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, text)) { results.push(this); return true; } } if(settings.match == 'both' || settings.match == 'value') { value = String(module.get.choiceValue($choice, text)); if(value.search(beginsWithRegExp) !== -1) { results.push(this); return true; } else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, value)) { results.push(this); return true; } } }) ; } module.debug('Showing only matched items', searchTerm); module.remove.filteredItem(); if(results) { $item .not(results) .addClass(className.filtered) ; } }, fuzzySearch: function(query, term) { var termLength = term.length, queryLength = query.length ; query = query.toLowerCase(); term = term.toLowerCase(); if(queryLength > termLength) { return false; } if(queryLength === termLength) { return (query === term); } search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) { var queryCharacter = query.charCodeAt(characterIndex) ; while(nextCharacterIndex < termLength) { if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) { continue search; } } return false; } return true; }, filterActive: function() { if(settings.useLabels) { $item.filter('.' + className.active) .addClass(className.filtered) ; } }, focusSearch: function() { if( module.is.search() && !module.is.focusedOnSearch() ) { $search[0].focus(); } }, forceSelection: function() { var $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0), $activeItem = $item.not(className.filtered).filter('.' + className.active).eq(0), $selectedItem = ($currentlySelected.length > 0) ? $currentlySelected : $activeItem, hasSelected = ($selectedItem.size() > 0) ; if( module.has.query() ) { if(hasSelected) { module.debug('Forcing partial selection to selected item', $selectedItem); module.event.item.click.call($selectedItem); return; } else { module.remove.searchTerm(); } } module.hide(); }, event: { change: function() { if(!internalChange) { module.debug('Input changed, updating selection'); module.set.selected(); } }, focus: function() { if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) { module.show(); } }, click: function(event) { var $target = $(event.target) ; // focus search if($target.is($module) && !module.is.focusedOnSearch()) { module.focusSearch(); } }, blur: function(event) { pageLostFocus = (document.activeElement === this); if(!activated && !pageLostFocus) { module.remove.activeLabel(); module.hide(); } }, // prevents focus callback from occurring on mousedown mousedown: function() { activated = true; }, mouseup: function() { activated = false; }, search: { focus: function() { activated = true; if(module.is.multiple()) { module.remove.activeLabel(); } if(settings.showOnFocus) { module.search(); module.show(); } }, blur: function(event) { pageLostFocus = (document.activeElement === this); if(!itemActivated && !pageLostFocus) { if(module.is.multiple()) { module.remove.activeLabel(); module.hide(); } else if(settings.forceSelection) { module.forceSelection(); } else { module.hide(); } } else if(pageLostFocus) { if(settings.forceSelection) { module.forceSelection(); } } } }, icon: { click: function(event) { module.toggle(); event.stopPropagation(); } }, text: { focus: function(event) { activated = true; module.focusSearch(); } }, input: function(event) { if(module.is.multiple() || module.is.searchSelection()) { module.set.filtered(); } clearTimeout(module.timer); module.timer = setTimeout(module.search, settings.delay.search); }, label: { click: function(event) { var $label = $(this), $labels = $module.find(selector.label), $activeLabels = $labels.filter('.' + className.active), $nextActive = $label.nextAll('.' + className.active), $prevActive = $label.prevAll('.' + className.active), $range = ($nextActive.length > 0) ? $label.nextUntil($nextActive).add($activeLabels).add($label) : $label.prevUntil($prevActive).add($activeLabels).add($label) ; if(event.shiftKey) { $activeLabels.removeClass(className.active); $range.addClass(className.active); } else if(event.ctrlKey) { $label.toggleClass(className.active); } else { $activeLabels.removeClass(className.active); $label.addClass(className.active); } settings.onLabelSelect.apply(this, $labels.filter('.' + className.active)); } }, remove: { click: function() { var $label = $(this).parent() ; if( $label.hasClass(className.active) ) { // remove all selected labels module.remove.activeLabels(); } else { // remove this label only module.remove.activeLabels( $label ); } } }, test: { toggle: function(event) { var toggleBehavior = (module.is.multiple()) ? module.show : module.toggle ; if( module.determine.eventOnElement(event, toggleBehavior) ) { event.preventDefault(); } }, touch: function(event) { module.determine.eventOnElement(event, function() { if(event.type == 'touchstart') { module.timer = setTimeout(function() { module.hide(); }, settings.delay.touch); } else if(event.type == 'touchmove') { clearTimeout(module.timer); } }); event.stopPropagation(); }, hide: function(event) { module.determine.eventInModule(event, module.hide); } }, menu: { mousedown: function() { itemActivated = true; }, mouseup: function() { itemActivated = false; } }, item: { mouseenter: function(event) { var $subMenu = $(this).children(selector.menu), $otherMenus = $(this).siblings(selector.item).children(selector.menu) ; if( $subMenu.length > 0 ) { clearTimeout(module.itemTimer); module.itemTimer = setTimeout(function() { module.verbose('Showing sub-menu', $subMenu); $.each($otherMenus, function() { module.animate.hide(false, $(this)); }); module.animate.show(false, $subMenu); }, settings.delay.show); event.preventDefault(); } }, mouseleave: function(event) { var $subMenu = $(this).children(selector.menu) ; if($subMenu.length > 0) { clearTimeout(module.itemTimer); module.itemTimer = setTimeout(function() { module.verbose('Hiding sub-menu', $subMenu); module.animate.hide(false, $subMenu); }, settings.delay.hide); } }, touchend: function() { }, click: function (event) { var $choice = $(this), $target = (event) ? $(event.target) : $(''), $subMenu = $choice.find(selector.menu), text = module.get.choiceText($choice), value = module.get.choiceValue($choice, text), hasSubMenu = ($subMenu.length > 0), isBubbledEvent = ($subMenu.find($target).length > 0) ; if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) { if(!settings.useLabels) { module.remove.filteredItem(); module.remove.searchTerm(); module.set.scrollPosition($choice); } module.determine.selectAction.call(this, text, value); } } }, document: { // label selection should occur even when element has no focus keydown: function(event) { var pressedKey = event.which, isShortcutKey = module.is.inObject(pressedKey, keys) ; if(isShortcutKey) { var $label = $module.find(selector.label), $activeLabel = $label.filter('.' + className.active), activeValue = $activeLabel.data(metadata.value), labelIndex = $label.index($activeLabel), labelCount = $label.length, hasActiveLabel = ($activeLabel.length > 0), hasMultipleActive = ($activeLabel.length > 1), isFirstLabel = (labelIndex === 0), isLastLabel = (labelIndex + 1 == labelCount), isSearch = module.is.searchSelection(), isFocusedOnSearch = module.is.focusedOnSearch(), isFocused = module.is.focused(), caretAtStart = (isFocusedOnSearch && module.get.caretPosition() === 0), $nextLabel ; if(isSearch && !hasActiveLabel && !isFocusedOnSearch) { return; } if(pressedKey == keys.leftArrow) { // activate previous label if((isFocused || caretAtStart) && !hasActiveLabel) { module.verbose('Selecting previous label'); $label.last().addClass(className.active); } else if(hasActiveLabel) { if(!event.shiftKey) { module.verbose('Selecting previous label'); $label.removeClass(className.active); } else { module.verbose('Adding previous label to selection'); } if(isFirstLabel && !hasMultipleActive) { $activeLabel.addClass(className.active); } else { $activeLabel.prev(selector.siblingLabel) .addClass(className.active) .end() ; } event.preventDefault(); } } else if(pressedKey == keys.rightArrow) { // activate first label if(isFocused && !hasActiveLabel) { $label.first().addClass(className.active); } // activate next label if(hasActiveLabel) { if(!event.shiftKey) { module.verbose('Selecting next label'); $label.removeClass(className.active); } else { module.verbose('Adding next label to selection'); } if(isLastLabel) { if(isSearch) { if(!isFocusedOnSearch) { module.focusSearch(); } else { $label.removeClass(className.active); } } else if(hasMultipleActive) { $activeLabel.next(selector.siblingLabel).addClass(className.active); } else { $activeLabel.addClass(className.active); } } else { $activeLabel.next(selector.siblingLabel).addClass(className.active); } event.preventDefault(); } } else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) { if(hasActiveLabel) { module.verbose('Removing active labels'); if(isLastLabel) { if(isSearch && !isFocusedOnSearch) { module.focusSearch(); } } $activeLabel.last().next(selector.siblingLabel).addClass(className.active); module.remove.activeLabels($activeLabel); event.preventDefault(); } else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) { module.verbose('Removing last label on input backspace'); $activeLabel = $label.last().addClass(className.active); module.remove.activeLabels($activeLabel); } } else { $activeLabel.removeClass(className.active); } } } }, keydown: function(event) { var pressedKey = event.which, isShortcutKey = module.is.inObject(pressedKey, keys) ; if(isShortcutKey) { var $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0), $activeItem = $menu.children('.' + className.active).eq(0), $selectedItem = ($currentlySelected.length > 0) ? $currentlySelected : $activeItem, $visibleItems = ($selectedItem.length > 0) ? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf() : $menu.children(':not(.' + className.filtered +')'), $subMenu = $selectedItem.children(selector.menu), $parentMenu = $selectedItem.closest(selector.menu), inVisibleMenu = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0), hasSubMenu = ($subMenu.length> 0), hasSelectedItem = ($selectedItem.length > 0), selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0), delimiterPressed = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()), $nextItem, isSubMenuItem, newIndex ; // visible menu keyboard shortcuts if( module.is.visible() ) { // enter (select or open sub-menu) if(pressedKey == keys.enter || delimiterPressed) { if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) { module.verbose('Pressed enter on unselectable category, opening sub menu'); pressedKey = keys.rightArrow; } else if(selectedIsSelectable) { module.verbose('Selecting item from keyboard shortcut', $selectedItem); module.event.item.click.call($selectedItem, event); if(module.is.searchSelection()) { module.remove.searchTerm(); } } event.preventDefault(); } // left arrow (hide sub-menu) if(pressedKey == keys.leftArrow) { isSubMenuItem = ($parentMenu[0] !== $menu[0]); if(isSubMenuItem) { module.verbose('Left key pressed, closing sub-menu'); module.animate.hide(false, $parentMenu); $selectedItem .removeClass(className.selected) ; $parentMenu .closest(selector.item) .addClass(className.selected) ; event.preventDefault(); } } // right arrow (show sub-menu) if(pressedKey == keys.rightArrow) { if(hasSubMenu) { module.verbose('Right key pressed, opening sub-menu'); module.animate.show(false, $subMenu); $selectedItem .removeClass(className.selected) ; $subMenu .find(selector.item).eq(0) .addClass(className.selected) ; event.preventDefault(); } } // up arrow (traverse menu up) if(pressedKey == keys.upArrow) { $nextItem = (hasSelectedItem && inVisibleMenu) ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0) : $item.eq(0) ; if($visibleItems.index( $nextItem ) < 0) { module.verbose('Up key pressed but reached top of current menu'); event.preventDefault(); return; } else { module.verbose('Up key pressed, changing active item'); $selectedItem .removeClass(className.selected) ; $nextItem .addClass(className.selected) ; module.set.scrollPosition($nextItem); } event.preventDefault(); } // down arrow (traverse menu down) if(pressedKey == keys.downArrow) { $nextItem = (hasSelectedItem && inVisibleMenu) ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0) : $item.eq(0) ; if($nextItem.length === 0) { module.verbose('Down key pressed but reached bottom of current menu'); event.preventDefault(); return; } else { module.verbose('Down key pressed, changing active item'); $item .removeClass(className.selected) ; $nextItem .addClass(className.selected) ; module.set.scrollPosition($nextItem); } event.preventDefault(); } // page down (show next page) if(pressedKey == keys.pageUp) { module.scrollPage('up'); event.preventDefault(); } if(pressedKey == keys.pageDown) { module.scrollPage('down'); event.preventDefault(); } // escape (close menu) if(pressedKey == keys.escape) { module.verbose('Escape key pressed, closing dropdown'); module.hide(); } } else { // delimiter key if(delimiterPressed) { event.preventDefault(); } // down arrow (open menu) if(pressedKey == keys.downArrow) { module.verbose('Down key pressed, showing dropdown'); module.show(); event.preventDefault(); } } } else { if( module.is.selection() && !module.is.search() ) { module.set.selectedLetter( String.fromCharCode(pressedKey) ); } } } }, trigger: { change: function() { var events = document.createEvent('HTMLEvents'), inputElement = $input[0] ; if(inputElement) { module.verbose('Triggering native change event'); events.initEvent('change', true, false); inputElement.dispatchEvent(events); } } }, determine: { selectAction: function(text, value) { module.verbose('Determining action', settings.action); if( $.isFunction( module.action[settings.action] ) ) { module.verbose('Triggering preset action', settings.action, text, value); module.action[ settings.action ].call(this, text, value); } else if( $.isFunction(settings.action) ) { module.verbose('Triggering user action', settings.action, text, value); settings.action.call(this, text, value); } else { module.error(error.action, settings.action); } }, eventInModule: function(event, callback) { var $target = $(event.target), inDocument = ($target.closest(document.documentElement).length > 0), inModule = ($target.closest($module).length > 0) ; callback = $.isFunction(callback) ? callback : function(){} ; if(inDocument && !inModule) { module.verbose('Triggering event', callback); callback(); return true; } else { module.verbose('Event occurred in dropdown, canceling callback'); return false; } }, eventOnElement: function(event, callback) { var $target = $(event.target), $label = $target.closest(selector.siblingLabel), notOnLabel = ($module.find($label).length === 0), notInMenu = ($target.closest($menu).length === 0) ; callback = $.isFunction(callback) ? callback : function(){} ; if(notOnLabel && notInMenu) { module.verbose('Triggering event', callback); callback(); return true; } else { module.verbose('Event occurred in dropdown menu, canceling callback'); return false; } } }, action: { nothing: function() {}, activate: function(text, value) { value = (value !== undefined) ? value : text ; if( module.can.activate( $(this) ) ) { module.set.selected(value, $(this)); if(module.is.multiple() && !module.is.allFiltered()) { return; } else { module.hideAndClear(); } } }, select: function(text, value) { // mimics action.activate but does not select text module.action.activate.call(this); }, combo: function(text, value) { value = (value !== undefined) ? value : text ; module.set.selected(value, $(this)); module.hideAndClear(); }, hide: function(text, value) { module.set.value(value); module.hideAndClear(); } }, get: { id: function() { return id; }, defaultText: function() { return $module.data(metadata.defaultText); }, defaultValue: function() { return $module.data(metadata.defaultValue); }, placeholderText: function() { return $module.data(metadata.placeholderText) || ''; }, text: function() { return $text.text(); }, query: function() { return $.trim($search.val()); }, searchWidth: function(characterCount) { return (characterCount * settings.glyphWidth) + 'em'; }, selectionCount: function() { var values = module.get.values(), count ; count = ( module.is.multiple() ) ? $.isArray(values) ? values.length : 0 : (module.get.value() !== '') ? 1 : 0 ; return count; }, transition: function($subMenu) { return (settings.transition == 'auto') ? module.is.upward($subMenu) ? 'slide up' : 'slide down' : settings.transition ; }, userValues: function() { var values = module.get.values() ; if(!values) { return false; } values = $.isArray(values) ? values : [values] ; return $.grep(values, function(value) { return (module.get.item(value) === false); }); }, uniqueArray: function(array) { return $.grep(array, function (value, index) { return $.inArray(value, array) === index; }); }, caretPosition: function() { var input = $search.get(0), range, rangeLength ; if('selectionStart' in input) { return input.selectionStart; } else if (document.selection) { input.focus(); range = document.selection.createRange(); rangeLength = range.text.length; range.moveStart('character', -input.value.length); return range.text.length - rangeLength; } }, value: function() { var value = ($input.length > 0) ? $input.val() : $module.data(metadata.value) ; // prevents placeholder element from being selected when multiple if($.isArray(value) && value.length === 1 && value[0] === '') { return ''; } return value; }, values: function() { var value = module.get.value() ; if(value === '') { return ''; } return ( !module.has.selectInput() && module.is.multiple() ) ? (typeof value == 'string') // delimited string ? value.split(settings.delimiter) : '' : value ; }, remoteValues: function() { var values = module.get.values(), remoteValues = false ; if(values) { if(typeof values == 'string') { values = [values]; } remoteValues = {}; $.each(values, function(index, value) { var name = module.read.remoteData(value) ; module.verbose('Restoring value from session data', name, value); remoteValues[value] = (name) ? name : value ; }); } return remoteValues; }, choiceText: function($choice, preserveHTML) { preserveHTML = (preserveHTML !== undefined) ? preserveHTML : settings.preserveHTML ; if($choice) { if($choice.find(selector.menu).length > 0) { module.verbose('Retreiving text of element with sub-menu'); $choice = $choice.clone(); $choice.find(selector.menu).remove(); $choice.find(selector.menuIcon).remove(); } return ($choice.data(metadata.text) !== undefined) ? $choice.data(metadata.text) : (preserveHTML) ? $.trim($choice.html()) : $.trim($choice.text()) ; } }, choiceValue: function($choice, choiceText) { choiceText = choiceText || module.get.choiceText($choice); if(!$choice) { return false; } return ($choice.data(metadata.value) !== undefined) ? String( $choice.data(metadata.value) ) : (typeof choiceText === 'string') ? $.trim(choiceText.toLowerCase()) : String(choiceText) ; }, inputEvent: function() { var input = $search[0] ; if(input) { return (input.oninput !== undefined) ? 'input' : (input.onpropertychange !== undefined) ? 'propertychange' : 'keyup' ; } return false; }, selectValues: function() { var select = {} ; select.values = []; $module .find('option') .each(function() { var $option = $(this), name = $option.html(), disabled = $option.attr('disabled'), value = ( $option.attr('value') !== undefined ) ? $option.attr('value') : name ; if(settings.placeholder === 'auto' && value === '') { select.placeholder = name; } else { select.values.push({ name : name, value : value, disabled : disabled }); } }) ; if(settings.placeholder && settings.placeholder !== 'auto') { module.debug('Setting placeholder value to', settings.placeholder); select.placeholder = settings.placeholder; } if(settings.sortSelect) { select.values.sort(function(a, b) { return (a.name > b.name) ? 1 : -1 ; }); module.debug('Retrieved and sorted values from select', select); } else { module.debug('Retreived values from select', select); } return select; }, activeItem: function() { return $item.filter('.' + className.active); }, selectedItem: function() { var $selectedItem = $item.not(selector.unselectable).filter('.' + className.selected) ; return ($selectedItem.length > 0) ? $selectedItem : $item.eq(0) ; }, itemWithAdditions: function(value) { var $items = module.get.item(value), $userItems = module.create.userChoice(value), hasUserItems = ($userItems && $userItems.length > 0) ; if(hasUserItems) { $items = ($items.length > 0) ? $items.add($userItems) : $userItems ; } return $items; }, item: function(value, strict) { var $selectedItem = false, shouldSearch, isMultiple ; value = (value !== undefined) ? value : ( module.get.values() !== undefined) ? module.get.values() : module.get.text() ; shouldSearch = (isMultiple) ? (value.length > 0) : (value !== undefined && value !== null) ; isMultiple = (module.is.multiple() && $.isArray(value)); strict = (value === '' || value === 0) ? true : strict || false ; if(shouldSearch) { $item .each(function() { var $choice = $(this), optionText = module.get.choiceText($choice), optionValue = module.get.choiceValue($choice, optionText) ; // safe early exit if(optionValue === null || optionValue === undefined) { return; } if(isMultiple) { if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) { $selectedItem = ($selectedItem) ? $selectedItem.add($choice) : $choice ; } } else if(strict) { module.verbose('Ambiguous dropdown value using strict type check', $choice, value); if( optionValue === value || optionText === value) { $selectedItem = $choice; return true; } } else { if( String(optionValue) == String(value) || optionText == value) { module.verbose('Found select item by value', optionValue, value); $selectedItem = $choice; return true; } } }) ; } return $selectedItem; } }, check: { maxSelections: function(selectionCount) { if(settings.maxSelections) { selectionCount = (selectionCount !== undefined) ? selectionCount : module.get.selectionCount() ; if(selectionCount >= settings.maxSelections) { module.debug('Maximum selection count reached'); if(settings.useLabels) { $item.addClass(className.filtered); module.add.message(message.maxSelections); } return true; } else { module.verbose('No longer at maximum selection count'); module.remove.message(); module.remove.filteredItem(); if(module.is.searchSelection()) { module.filterItems(); } return false; } } return true; } }, restore: { defaults: function() { module.clear(); module.restore.defaultText(); module.restore.defaultValue(); }, defaultText: function() { var defaultText = module.get.defaultText(), placeholderText = module.get.placeholderText ; if(defaultText === placeholderText) { module.debug('Restoring default placeholder text', defaultText); module.set.placeholderText(defaultText); } else { module.debug('Restoring default text', defaultText); module.set.text(defaultText); } }, defaultValue: function() { var defaultValue = module.get.defaultValue() ; if(defaultValue !== undefined) { module.debug('Restoring default value', defaultValue); if(defaultValue !== '') { module.set.value(defaultValue); module.set.selected(); } else { module.remove.activeItem(); module.remove.selectedItem(); } } }, labels: function() { if(settings.allowAdditions) { if(!settings.useLabels) { module.error(error.labels); settings.useLabels = true; } module.debug('Restoring selected values'); module.create.userLabels(); } module.check.maxSelections(); }, selected: function() { module.restore.values(); if(module.is.multiple()) { module.debug('Restoring previously selected values and labels'); module.restore.labels(); } else { module.debug('Restoring previously selected values'); } }, values: function() { // prevents callbacks from occuring on initial load module.set.initialLoad(); if(settings.apiSettings) { if(settings.saveRemoteData) { module.restore.remoteValues(); } else { module.clearValue(); } } else { module.set.selected(); } module.remove.initialLoad(); }, remoteValues: function() { var values = module.get.remoteValues() ; module.debug('Recreating selected from session data', values); if(values) { if( module.is.single() ) { $.each(values, function(value, name) { module.set.text(name); }); } else { $.each(values, function(value, name) { module.add.label(value, name); }); } } } }, read: { remoteData: function(value) { var name ; if(window.Storage === undefined) { module.error(error.noStorage); return; } name = sessionStorage.getItem(value); return (name !== undefined) ? name : false ; } }, save: { defaults: function() { module.save.defaultText(); module.save.placeholderText(); module.save.defaultValue(); }, defaultValue: function() { var value = module.get.value() ; module.verbose('Saving default value as', value); $module.data(metadata.defaultValue, value); }, defaultText: function() { var text = module.get.text() ; module.verbose('Saving default text as', text); $module.data(metadata.defaultText, text); }, placeholderText: function() { var text ; if(settings.placeholder !== false && $text.hasClass(className.placeholder)) { text = module.get.text(); module.verbose('Saving placeholder text as', text); $module.data(metadata.placeholderText, text); } }, remoteData: function(name, value) { if(window.Storage === undefined) { module.error(error.noStorage); return; } module.verbose('Saving remote data to session storage', value, name); sessionStorage.setItem(value, name); } }, clear: function() { if(module.is.multiple()) { module.remove.labels(); } else { module.remove.activeItem(); module.remove.selectedItem(); } module.set.placeholderText(); module.clearValue(); }, clearValue: function() { module.set.value(''); }, scrollPage: function(direction, $selectedItem) { var $currentItem = $selectedItem || module.get.selectedItem(), $menu = $currentItem.closest(selector.menu), menuHeight = $menu.outerHeight(), currentScroll = $menu.scrollTop(), itemHeight = $item.eq(0).outerHeight(), itemsPerPage = Math.floor(menuHeight / itemHeight), maxScroll = $menu.prop('scrollHeight'), newScroll = (direction == 'up') ? currentScroll - (itemHeight * itemsPerPage) : currentScroll + (itemHeight * itemsPerPage), $selectableItem = $item.not(selector.unselectable), isWithinRange, $nextSelectedItem, elementIndex ; elementIndex = (direction == 'up') ? $selectableItem.index($currentItem) - itemsPerPage : $selectableItem.index($currentItem) + itemsPerPage ; isWithinRange = (direction == 'up') ? (elementIndex >= 0) : (elementIndex < $selectableItem.length) ; $nextSelectedItem = (isWithinRange) ? $selectableItem.eq(elementIndex) : (direction == 'up') ? $selectableItem.first() : $selectableItem.last() ; if($nextSelectedItem.length > 0) { module.debug('Scrolling page', direction, $nextSelectedItem); $currentItem .removeClass(className.selected) ; $nextSelectedItem .addClass(className.selected) ; $menu .scrollTop(newScroll) ; } }, set: { filtered: function() { var isMultiple = module.is.multiple(), isSearch = module.is.searchSelection(), isSearchMultiple = (isMultiple && isSearch), searchValue = (isSearch) ? module.get.query() : '', hasSearchValue = (typeof searchValue === 'string' && searchValue.length > 0), searchWidth = module.get.searchWidth(searchValue.length), valueIsSet = searchValue !== '' ; if(isMultiple && hasSearchValue) { module.verbose('Adjusting input width', searchWidth, settings.glyphWidth); $search.css('width', searchWidth); } if(hasSearchValue || (isSearchMultiple && valueIsSet)) { module.verbose('Hiding placeholder text'); $text.addClass(className.filtered); } else if(!isMultiple || (isSearchMultiple && !valueIsSet)) { module.verbose('Showing placeholder text'); $text.removeClass(className.filtered); } }, loading: function() { $module.addClass(className.loading); }, placeholderText: function(text) { text = text || module.get.placeholderText(); module.debug('Setting placeholder text', text); module.set.text(text); $text.addClass(className.placeholder); }, tabbable: function() { if( module.has.search() ) { module.debug('Added tabindex to searchable dropdown'); $search .val('') .attr('tabindex', 0) ; $menu .attr('tabindex', -1) ; } else { module.debug('Added tabindex to dropdown'); if( $module.attr('tabindex') === undefined) { $module .attr('tabindex', 0) ; $menu .attr('tabindex', -1) ; } } }, initialLoad: function() { module.verbose('Setting initial load'); initialLoad = true; }, activeItem: function($item) { if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) { $item.addClass(className.filtered); } else { $item.addClass(className.active); } }, scrollPosition: function($item, forceScroll) { var edgeTolerance = 5, $menu, hasActive, offset, itemHeight, itemOffset, menuOffset, menuScroll, menuHeight, abovePage, belowPage ; $item = $item || module.get.selectedItem(); $menu = $item.closest(selector.menu); hasActive = ($item && $item.length > 0); forceScroll = (forceScroll !== undefined) ? forceScroll : false ; if($item && $menu.length > 0 && hasActive) { itemOffset = $item.position().top; $menu.addClass(className.loading); menuScroll = $menu.scrollTop(); menuOffset = $menu.offset().top; itemOffset = $item.offset().top; offset = menuScroll - menuOffset + itemOffset; if(!forceScroll) { menuHeight = $menu.height(); belowPage = menuScroll + menuHeight < (offset + edgeTolerance); abovePage = ((offset - edgeTolerance) < menuScroll); } module.debug('Scrolling to active item', offset); if(forceScroll || abovePage || belowPage) { $menu.scrollTop(offset); } $menu.removeClass(className.loading); } }, text: function(text) { if(settings.action !== 'select') { if(settings.action == 'combo') { module.debug('Changing combo button text', text, $combo); if(settings.preserveHTML) { $combo.html(text); } else { $combo.text(text); } } else { if(text !== module.get.placeholderText()) { $text.removeClass(className.placeholder); } module.debug('Changing text', text, $text); $text .removeClass(className.filtered) ; if(settings.preserveHTML) { $text.html(text); } else { $text.text(text); } } } }, selectedLetter: function(letter) { var $selectedItem = $item.filter('.' + className.selected), alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter), $nextValue = false, $nextItem ; // check next of same letter if(alreadySelectedLetter) { $nextItem = $selectedItem.nextAll($item).eq(0); if( module.has.firstLetter($nextItem, letter) ) { $nextValue = $nextItem; } } // check all values if(!$nextValue) { $item .each(function(){ if(module.has.firstLetter($(this), letter)) { $nextValue = $(this); return false; } }) ; } // set next value if($nextValue) { module.verbose('Scrolling to next value with letter', letter); module.set.scrollPosition($nextValue); $selectedItem.removeClass(className.selected); $nextValue.addClass(className.selected); } }, direction: function($menu) { if(settings.direction == 'auto') { if(module.is.onScreen($menu)) { module.remove.upward($menu); } else { module.set.upward($menu); } } else if(settings.direction == 'upward') { module.set.upward($menu); } }, upward: function($menu) { var $element = $menu || $module; $element.addClass(className.upward); }, value: function(value, text, $selected) { var hasInput = ($input.length > 0), isAddition = !module.has.value(value), currentValue = module.get.values(), stringValue = (value !== undefined) ? String(value) : value, newValue ; if(hasInput) { if(stringValue == currentValue) { module.verbose('Skipping value update already same value', value, currentValue); if(!module.is.initialLoad()) { return; } } if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) { module.debug('Adding user option', value); module.add.optionValue(value); } module.debug('Updating input value', value, currentValue); internalChange = true; $input .val(value) ; if(settings.fireOnInit === false && module.is.initialLoad()) { module.debug('Input native change event ignored on initial load'); } else { module.trigger.change(); } internalChange = false; } else { module.verbose('Storing value in metadata', value, $input); if(value !== currentValue) { $module.data(metadata.value, stringValue); } } if(settings.fireOnInit === false && module.is.initialLoad()) { module.verbose('No callback on initial load', settings.onChange); } else { settings.onChange.call(element, value, text, $selected); } }, active: function() { $module .addClass(className.active) ; }, multiple: function() { $module.addClass(className.multiple); }, visible: function() { $module.addClass(className.visible); }, exactly: function(value, $selectedItem) { module.debug('Setting selected to exact values'); module.clear(); module.set.selected(value, $selectedItem); }, selected: function(value, $selectedItem) { var isMultiple = module.is.multiple(), $userSelectedItem ; $selectedItem = (settings.allowAdditions) ? $selectedItem || module.get.itemWithAdditions(value) : $selectedItem || module.get.item(value) ; if(!$selectedItem) { return; } module.debug('Setting selected menu item to', $selectedItem); if(module.is.single()) { module.remove.activeItem(); module.remove.selectedItem(); } else if(settings.useLabels) { module.remove.selectedItem(); } // select each item $selectedItem .each(function() { var $selected = $(this), selectedText = module.get.choiceText($selected), selectedValue = module.get.choiceValue($selected, selectedText), isFiltered = $selected.hasClass(className.filtered), isActive = $selected.hasClass(className.active), isUserValue = $selected.hasClass(className.addition), shouldAnimate = (isMultiple && $selectedItem.length == 1) ; if(isMultiple) { if(!isActive || isUserValue) { if(settings.apiSettings && settings.saveRemoteData) { module.save.remoteData(selectedText, selectedValue); } if(settings.useLabels) { module.add.value(selectedValue, selectedText, $selected); module.add.label(selectedValue, selectedText, shouldAnimate); module.set.activeItem($selected); module.filterActive(); module.select.nextAvailable($selectedItem); } else { module.add.value(selectedValue, selectedText, $selected); module.set.text(module.add.variables(message.count)); module.set.activeItem($selected); } } else if(!isFiltered) { module.debug('Selected active value, removing label'); module.remove.selected(selectedValue); } } else { if(settings.apiSettings && settings.saveRemoteData) { module.save.remoteData(selectedText, selectedValue); } module.set.text(selectedText); module.set.value(selectedValue, selectedText, $selected); $selected .addClass(className.active) .addClass(className.selected) ; } }) ; } }, add: { label: function(value, text, shouldAnimate) { var $next = module.is.searchSelection() ? $search : $text, $label ; $label = $('<a />') .addClass(className.label) .attr('data-value', value) .html(templates.label(value, text)) ; $label = settings.onLabelCreate.call($label, value, text); if(module.has.label(value)) { module.debug('Label already exists, skipping', value); return; } if(settings.label.variation) { $label.addClass(settings.label.variation); } if(shouldAnimate === true) { module.debug('Animating in label', $label); $label .addClass(className.hidden) .insertBefore($next) .transition(settings.label.transition, settings.label.duration) ; } else { module.debug('Adding selection label', $label); $label .insertBefore($next) ; } }, message: function(message) { var $message = $menu.children(selector.message), html = settings.templates.message(module.add.variables(message)) ; if($message.length > 0) { $message .html(html) ; } else { $message = $('<div/>') .html(html) .addClass(className.message) .appendTo($menu) ; } }, optionValue: function(value) { var $option = $input.find('option[value="' + value + '"]'), hasOption = ($option.length > 0) ; if(hasOption) { return; } // temporarily disconnect observer if(selectObserver) { selectObserver.disconnect(); module.verbose('Temporarily disconnecting mutation observer', value); } if( module.is.single() ) { module.verbose('Removing previous user addition'); $input.find('option.' + className.addition).remove(); } $('<option/>') .prop('value', value) .addClass(className.addition) .html(value) .appendTo($input) ; module.verbose('Adding user addition as an <option>', value); if(selectObserver) { selectObserver.observe($input[0], { childList : true, subtree : true }); } }, userSuggestion: function(value) { var $addition = $menu.children(selector.addition), $existingItem = module.get.item(value), alreadyHasValue = $existingItem && $existingItem.not(selector.addition).length, hasUserSuggestion = $addition.length > 0, html ; if(settings.useLabels && module.has.maxSelections()) { return; } if(value === '' || alreadyHasValue) { $addition.remove(); return; } $item .removeClass(className.selected) ; if(hasUserSuggestion) { html = settings.templates.addition( module.add.variables(message.addResult, value) ); $addition .html(html) .attr('data-' + metadata.value, value) .attr('data-' + metadata.text, value) .removeClass(className.filtered) .addClass(className.selected) ; module.verbose('Replacing user suggestion with new value', $addition); } else { $addition = module.create.userChoice(value); $addition .prependTo($menu) .addClass(className.selected) ; module.verbose('Adding item choice to menu corresponding with user choice addition', $addition); } }, variables: function(message, term) { var hasCount = (message.search('{count}') !== -1), hasMaxCount = (message.search('{maxCount}') !== -1), hasTerm = (message.search('{term}') !== -1), values, count, query ; module.verbose('Adding templated variables to message', message); if(hasCount) { count = module.get.selectionCount(); message = message.replace('{count}', count); } if(hasMaxCount) { count = module.get.selectionCount(); message = message.replace('{maxCount}', settings.maxSelections); } if(hasTerm) { query = term || module.get.query(); message = message.replace('{term}', query); } return message; }, value: function(addedValue, addedText, $selectedItem) { var currentValue = module.get.values(), newValue ; if(addedValue === '') { module.debug('Cannot select blank values from multiselect'); return; } // extend current array if($.isArray(currentValue)) { newValue = currentValue.concat([addedValue]); newValue = module.get.uniqueArray(newValue); } else { newValue = [addedValue]; } // add values if( module.has.selectInput() ) { if(module.can.extendSelect()) { module.debug('Adding value to select', addedValue, newValue, $input); module.add.optionValue(addedValue); } } else { newValue = newValue.join(settings.delimiter); module.debug('Setting hidden input to delimited value', newValue, $input); } if(settings.fireOnInit === false && module.is.initialLoad()) { module.verbose('Skipping onadd callback on initial load', settings.onAdd); } else { settings.onAdd.call(element, addedValue, addedText, $selectedItem); } module.set.value(newValue, addedValue, addedText, $selectedItem); module.check.maxSelections(); } }, remove: { active: function() { $module.removeClass(className.active); }, activeLabel: function() { $module.find(selector.label).removeClass(className.active); }, loading: function() { $module.removeClass(className.loading); }, initialLoad: function() { initialLoad = false; }, upward: function($menu) { var $element = $menu || $module; $element.removeClass(className.upward); }, visible: function() { $module.removeClass(className.visible); }, activeItem: function() { $item.removeClass(className.active); }, filteredItem: function() { if(settings.useLabels && module.has.maxSelections() ) { return; } if(settings.useLabels && module.is.multiple()) { $item.not('.' + className.active).removeClass(className.filtered); } else { $item.removeClass(className.filtered); } }, optionValue: function(value) { var $option = $input.find('option[value="' + value + '"]'), hasOption = ($option.length > 0) ; if(!hasOption || !$option.hasClass(className.addition)) { return; } // temporarily disconnect observer if(selectObserver) { selectObserver.disconnect(); module.verbose('Temporarily disconnecting mutation observer', value); } $option.remove(); module.verbose('Removing user addition as an <option>', value); if(selectObserver) { selectObserver.observe($input[0], { childList : true, subtree : true }); } }, message: function() { $menu.children(selector.message).remove(); }, searchTerm: function() { module.verbose('Cleared search term'); $search.val(''); module.set.filtered(); }, selected: function(value, $selectedItem) { $selectedItem = (settings.allowAdditions) ? $selectedItem || module.get.itemWithAdditions(value) : $selectedItem || module.get.item(value) ; if(!$selectedItem) { return false; } $selectedItem .each(function() { var $selected = $(this), selectedText = module.get.choiceText($selected), selectedValue = module.get.choiceValue($selected, selectedText) ; if(module.is.multiple()) { if(settings.useLabels) { module.remove.value(selectedValue, selectedText, $selected); module.remove.label(selectedValue); } else { module.remove.value(selectedValue, selectedText, $selected); if(module.get.selectionCount() === 0) { module.set.placeholderText(); } else { module.set.text(module.add.variables(message.count)); } } } else { module.remove.value(selectedValue, selectedText, $selected); } $selected .removeClass(className.filtered) .removeClass(className.active) ; if(settings.useLabels) { $selected.removeClass(className.selected); } }) ; }, selectedItem: function() { $item.removeClass(className.selected); }, value: function(removedValue, removedText, $removedItem) { var values = module.get.values(), newValue ; if( module.has.selectInput() ) { module.verbose('Input is <select> removing selected option', removedValue); newValue = module.remove.arrayValue(removedValue, values); module.remove.optionValue(removedValue); } else { module.verbose('Removing from delimited values', removedValue); newValue = module.remove.arrayValue(removedValue, values); newValue = newValue.join(settings.delimiter); } if(settings.fireOnInit === false && module.is.initialLoad()) { module.verbose('No callback on initial load', settings.onRemove); } else { settings.onRemove.call(element, removedValue, removedText, $removedItem); } module.set.value(newValue, removedText, $removedItem); module.check.maxSelections(); }, arrayValue: function(removedValue, values) { if( !$.isArray(values) ) { values = [values]; } values = $.grep(values, function(value){ return (removedValue != value); }); module.verbose('Removed value from delimited string', removedValue, values); return values; }, label: function(value, shouldAnimate) { var $labels = $module.find(selector.label), $removedLabel = $labels.filter('[data-value="' + value +'"]') ; module.verbose('Removing label', $removedLabel); $removedLabel.remove(); }, activeLabels: function($activeLabels) { $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active); module.verbose('Removing active label selections', $activeLabels); module.remove.labels($activeLabels); }, labels: function($labels) { $labels = $labels || $module.find(selector.label); module.verbose('Removing labels', $labels); $labels .each(function(){ var $label = $(this), value = $label.data(metadata.value), stringValue = (value !== undefined) ? String(value) : value, isUserValue = module.is.userValue(stringValue) ; if(settings.onLabelRemove.call($label, value) === false) { module.debug('Label remove callback cancelled removal'); return; } if(isUserValue) { module.remove.value(stringValue); module.remove.label(stringValue); } else { // selected will also remove label module.remove.selected(stringValue); } }) ; }, tabbable: function() { if( module.has.search() ) { module.debug('Searchable dropdown initialized'); $search .removeAttr('tabindex') ; $menu .removeAttr('tabindex') ; } else { module.debug('Simple selection dropdown initialized'); $module .removeAttr('tabindex') ; $menu .removeAttr('tabindex') ; } } }, has: { search: function() { return ($search.length > 0); }, selectInput: function() { return ( $input.is('select') ); }, firstLetter: function($item, letter) { var text, firstLetter ; if(!$item || $item.length === 0 || typeof letter !== 'string') { return false; } text = module.get.choiceText($item, false); letter = letter.toLowerCase(); firstLetter = String(text).charAt(0).toLowerCase(); return (letter == firstLetter); }, input: function() { return ($input.length > 0); }, items: function() { return ($item.length > 0); }, menu: function() { return ($menu.length > 0); }, message: function() { return ($menu.children(selector.message).length !== 0); }, label: function(value) { var $labels = $module.find(selector.label) ; return ($labels.filter('[data-value="' + value +'"]').length > 0); }, maxSelections: function() { return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections); }, allResultsFiltered: function() { return ($item.filter(selector.unselectable).length === $item.length); }, query: function() { return (module.get.query() !== ''); }, value: function(value) { var values = module.get.values(), hasValue = $.isArray(values) ? values && ($.inArray(value, values) !== -1) : (values == value) ; return (hasValue) ? true : false ; } }, is: { active: function() { return $module.hasClass(className.active); }, alreadySetup: function() { return ($module.is('select') && $module.parent(selector.dropdown).length > 0 && $module.prev().length === 0); }, animating: function($subMenu) { return ($subMenu) ? $subMenu.transition && $subMenu.transition('is animating') : $menu.transition && $menu.transition('is animating') ; }, disabled: function() { return $module.hasClass(className.disabled); }, focused: function() { return (document.activeElement === $module[0]); }, focusedOnSearch: function() { return (document.activeElement === $search[0]); }, allFiltered: function() { return( (module.is.multiple() || module.has.search()) && !module.has.message() && module.has.allResultsFiltered() ); }, hidden: function($subMenu) { return !module.is.visible($subMenu); }, initialLoad: function() { return initialLoad; }, onScreen: function($subMenu) { var $currentMenu = $subMenu || $menu, canOpenDownward = true, onScreen = {}, calculations ; $currentMenu.addClass(className.loading); calculations = { context: { scrollTop : $context.scrollTop(), height : $context.outerHeight() }, menu : { offset: $currentMenu.offset(), height: $currentMenu.outerHeight() } }; onScreen = { above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.menu.height, below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top + calculations.menu.height }; if(onScreen.below) { module.verbose('Dropdown can fit in context downward', onScreen); canOpenDownward = true; } else if(!onScreen.below && !onScreen.above) { module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen); canOpenDownward = true; } else { module.verbose('Dropdown cannot fit below, opening upward', onScreen); canOpenDownward = false; } $currentMenu.removeClass(className.loading); return canOpenDownward; }, inObject: function(needle, object) { var found = false ; $.each(object, function(index, property) { if(property == needle) { found = true; return true; } }); return found; }, multiple: function() { return $module.hasClass(className.multiple); }, single: function() { return !module.is.multiple(); }, selectMutation: function(mutations) { var selectChanged = false ; $.each(mutations, function(index, mutation) { if(mutation.target && $(mutation.target).is('select')) { selectChanged = true; return true; } }); return selectChanged; }, search: function() { return $module.hasClass(className.search); }, searchSelection: function() { return ( module.has.search() && $search.parent(selector.dropdown).length === 1 ); }, selection: function() { return $module.hasClass(className.selection); }, userValue: function(value) { return ($.inArray(value, module.get.userValues()) !== -1); }, upward: function($menu) { var $element = $menu || $module; return $element.hasClass(className.upward); }, visible: function($subMenu) { return ($subMenu) ? $subMenu.hasClass(className.visible) : $menu.hasClass(className.visible) ; } }, can: { activate: function($item) { if(settings.useLabels) { return true; } if(!module.has.maxSelections()) { return true; } if(module.has.maxSelections() && $item.hasClass(className.active)) { return true; } return false; }, click: function() { return (hasTouch || settings.on == 'click'); }, extendSelect: function() { return settings.allowAdditions || settings.apiSettings; }, show: function() { return !module.is.disabled() && (module.has.items() || module.has.message()); }, useAPI: function() { return $.fn.api !== undefined; } }, animate: { show: function(callback, $subMenu) { var $currentMenu = $subMenu || $menu, start = ($subMenu) ? function() {} : function() { module.hideSubMenus(); module.hideOthers(); module.set.active(); }, transition ; callback = $.isFunction(callback) ? callback : function(){} ; module.verbose('Doing menu show animation', $currentMenu); module.set.direction($subMenu); transition = module.get.transition($subMenu); if( module.is.selection() ) { module.set.scrollPosition(module.get.selectedItem(), true); } if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) { if(transition == 'none') { start(); $currentMenu.transition('show'); callback.call(element); } else if($.fn.transition !== undefined && $module.transition('is supported')) { $currentMenu .transition({ animation : transition + ' in', debug : settings.debug, verbose : settings.verbose, duration : settings.duration, queue : true, onStart : start, onComplete : function() { callback.call(element); } }) ; } else { module.error(error.noTransition, transition); } } }, hide: function(callback, $subMenu) { var $currentMenu = $subMenu || $menu, duration = ($subMenu) ? (settings.duration * 0.9) : settings.duration, start = ($subMenu) ? function() {} : function() { if( module.can.click() ) { module.unbind.intent(); } module.remove.active(); }, transition = module.get.transition($subMenu) ; callback = $.isFunction(callback) ? callback : function(){} ; if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) { module.verbose('Doing menu hide animation', $currentMenu); if(transition == 'none') { start(); $currentMenu.transition('hide'); callback.call(element); } else if($.fn.transition !== undefined && $module.transition('is supported')) { $currentMenu .transition({ animation : transition + ' out', duration : settings.duration, debug : settings.debug, verbose : settings.verbose, queue : true, onStart : start, onComplete : function() { if(settings.direction == 'auto') { module.remove.upward($subMenu); } callback.call(element); } }) ; } else { module.error(error.transition); } } } }, hideAndClear: function() { module.remove.searchTerm(); if( module.has.maxSelections() ) { return; } if(module.has.search()) { module.hide(function() { module.remove.filteredItem(); }); } else { module.hide(); } }, delay: { show: function() { module.verbose('Delaying show event to ensure user intent'); clearTimeout(module.timer); module.timer = setTimeout(module.show, settings.delay.show); }, hide: function() { module.verbose('Delaying hide event to ensure user intent'); clearTimeout(module.timer); module.timer = setTimeout(module.hide, settings.delay.hide); } }, escape: { regExp: function(text) { text = String(text); return text.replace(regExp.escape, '\\$&'); } }, setting: function(name, value) { module.debug('Changing setting', name, value); if( $.isPlainObject(name) ) { $.extend(true, settings, name); } else if(value !== undefined) { settings[name] = value; } else { return settings[name]; } }, internal: function(name, value) { if( $.isPlainObject(name) ) { $.extend(true, module, name); } else if(value !== undefined) { module[name] = value; } else { return module[name]; } }, debug: function() { if(settings.debug) { if(settings.performance) { module.performance.log(arguments); } else { module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); module.debug.apply(console, arguments); } } }, verbose: function() { if(settings.verbose && settings.debug) { if(settings.performance) { module.performance.log(arguments); } else { module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); module.verbose.apply(console, arguments); } } }, error: function() { module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); module.error.apply(console, arguments); }, performance: { log: function(message) { var currentTime, executionTime, previousTime ; if(settings.performance) { currentTime = new Date().getTime(); previousTime = time || currentTime; executionTime = currentTime - previousTime; time = currentTime; performance.push({ 'Name' : message[0], 'Arguments' : [].slice.call(message, 1) || '', 'Element' : element, 'Execution Time' : executionTime }); } clearTimeout(module.performance.timer); module.performance.timer = setTimeout(module.performance.display, 500); }, display: function() { var title = settings.name + ':', totalTime = 0 ; time = false; clearTimeout(module.performance.timer); $.each(performance, function(index, data) { totalTime += data['Execution Time']; }); title += ' ' + totalTime + 'ms'; if(moduleSelector) { title += ' \'' + moduleSelector + '\''; } if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { console.groupCollapsed(title); if(console.table) { console.table(performance); } else { $.each(performance, function(index, data) { console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); }); } console.groupEnd(); } performance = []; } }, invoke: function(query, passedArguments, context) { var object = instance, maxDepth, found, response ; passedArguments = passedArguments || queryArguments; context = element || context; if(typeof query == 'string' && object !== undefined) { query = query.split(/[\. ]/); maxDepth = query.length - 1; $.each(query, function(depth, value) { var camelCaseValue = (depth != maxDepth) ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) : query ; if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { object = object[camelCaseValue]; } else if( object[camelCaseValue] !== undefined ) { found = object[camelCaseValue]; return false; } else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { object = object[value]; } else if( object[value] !== undefined ) { found = object[value]; return false; } else { module.error(error.method, query); return false; } }); } if ( $.isFunction( found ) ) { response = found.apply(context, passedArguments); } else if(found !== undefined) { response = found; } if($.isArray(returnedValue)) { returnedValue.push(response); } else if(returnedValue !== undefined) { returnedValue = [returnedValue, response]; } else if(response !== undefined) { returnedValue = response; } return found; } }; if(methodInvoked) { if(instance === undefined) { module.initialize(); } module.invoke(query); } else { if(instance !== undefined) { instance.invoke('destroy'); } module.initialize(); } }) ; return (returnedValue !== undefined) ? returnedValue : $allModules ; }; $.fn.dropdown.settings = { debug : false, verbose : false, performance : true, on : 'click', // what event should show menu action on item selection action : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){}) apiSettings : false, saveRemoteData : true, // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh throttle : 200, // How long to wait after last user input to search remotely context : window, // Context to use when determining if on screen direction : 'auto', // Whether dropdown should always open in one direction keepOnScreen : true, // Whether dropdown should check whether it is on screen before showing match : 'both', // what to match against with search selection (both, text, or label) fullTextSearch : false, // search anywhere in value placeholder : 'auto', // whether to convert blank <select> values to placeholder text preserveHTML : true, // preserve html when selecting value sortSelect : false, // sort selection on init forceSelection : true, // force a choice on blur with search selection allowAdditions : false, // whether multiple select should allow user added values maxSelections : false, // When set to a number limits the number of selections to this count useLabels : true, // whether multiple select should filter currently active selections from choices delimiter : ',', // when multiselect uses normal <input> the values will be delimited with this character showOnFocus : true, // show menu on focus allowTab : true, // add tabindex to element allowCategorySelection : false, // allow elements with sub-menus to be selected fireOnInit : false, // Whether callbacks should fire when initializing dropdown values transition : 'auto', // auto transition will slide down or up based on direction duration : 200, // duration of transition glyphWidth : 1.0714, // widest glyph width in em (W is 1.0714 em) used to calculate multiselect input width // label settings on multi-select label: { transition : 'scale', duration : 200, variation : false }, // delay before event delay : { hide : 300, show : 200, search : 20, touch : 50 }, /* Callbacks */ onChange : function(value, text, $selected){}, onAdd : function(value, text, $selected){}, onRemove : function(value, text, $selected){}, onLabelSelect : function($selectedLabels){}, onLabelCreate : function(value, text) { return $(this); }, onLabelRemove : function(value) { return true; }, onNoResults : function(searchTerm) { return true; }, onShow : function(){}, onHide : function(){}, /* Component */ name : 'Dropdown', namespace : 'dropdown', message: { addResult : 'Add <b>{term}</b>', count : '{count} selected', maxSelections : 'Max {maxCount} selections', noResults : 'No results found.', serverError : 'There was an error contacting the server' }, error : { action : 'You called a dropdown action that was not defined', alreadySetup : 'Once a select has been initialized behaviors must be called on the created ui dropdown', labels : 'Allowing user additions currently requires the use of labels.', missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values', method : 'The method you called is not defined.', noAPI : 'The API module is required to load resources remotely', noStorage : 'Saving remote data requires session storage', noTransition : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>' }, regExp : { escape : /[-[\]{}()*+?.,\\^$|#\s]/g, }, metadata : { defaultText : 'defaultText', defaultValue : 'defaultValue', placeholderText : 'placeholder', text : 'text', value : 'value' }, // property names for remote query fields: { remoteValues : 'results', // grouping for api results values : 'values', // grouping for all dropdown values name : 'name', // displayed dropdown text value : 'value' // actual dropdown value }, keys : { backspace : 8, delimiter : 188, // comma deleteKey : 46, enter : 13, escape : 27, pageUp : 33, pageDown : 34, leftArrow : 37, upArrow : 38, rightArrow : 39, downArrow : 40 }, selector : { addition : '.addition', dropdown : '.ui.dropdown', icon : '> .dropdown.icon', input : '> input[type="hidden"], > select', item : '.item', label : '> .label', remove : '> .label > .delete.icon', siblingLabel : '.label', menu : '.menu', message : '.message', menuIcon : '.dropdown.icon', search : 'input.search, .menu > .search > input', text : '> .text:not(.icon)', unselectable : '.disabled, .filtered' }, className : { active : 'active', addition : 'addition', animating : 'animating', disabled : 'disabled', dropdown : 'ui dropdown', filtered : 'filtered', hidden : 'hidden transition', item : 'item', label : 'ui label', loading : 'loading', menu : 'menu', message : 'message', multiple : 'multiple', placeholder : 'default', search : 'search', selected : 'selected', selection : 'selection', upward : 'upward', visible : 'visible' } }; /* Templates */ $.fn.dropdown.settings.templates = { // generates dropdown from select values dropdown: function(select) { var placeholder = select.placeholder || false, values = select.values || {}, html = '' ; html += '<i class="dropdown icon"></i>'; if(select.placeholder) { html += '<div class="default text">' + placeholder + '</div>'; } else { html += '<div class="text"></div>'; } html += '<div class="menu">'; $.each(select.values, function(index, option) { html += (option.disabled) ? '<div class="disabled item" data-value="' + option.value + '">' + option.name + '</div>' : '<div class="item" data-value="' + option.value + '">' + option.name + '</div>' ; }); html += '</div>'; return html; }, // generates just menu from select menu: function(response, fields) { var values = response[fields.values] || {}, html = '' ; $.each(values, function(index, option) { html += '<div class="item" data-value="' + option[fields.value] + '">' + option[fields.name] + '</div>'; }); return html; }, // generates label for multiselect label: function(value, text) { return text + '<i class="delete icon"></i>'; }, // generates messages like "No results" message: function(message) { return message; }, // generates user addition to selection menu addition: function(choice) { return choice; } }; })( jQuery, window, document ); </script> <script> /*! * # Semantic UI 2.1.7 - Transition * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2015 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ ;(function ( $, window, document, undefined ) { "use strict"; $.fn.transition = function() { var $allModules = $(this), moduleSelector = $allModules.selector || '', time = new Date().getTime(), performance = [], moduleArguments = arguments, query = moduleArguments[0], queryArguments = [].slice.call(arguments, 1), methodInvoked = (typeof query === 'string'), requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || function(callback) { setTimeout(callback, 0); }, returnedValue ; $allModules .each(function(index) { var $module = $(this), element = this, // set at run time settings, instance, error, className, metadata, animationEnd, animationName, namespace, moduleNamespace, eventNamespace, module ; module = { initialize: function() { // get full settings settings = module.get.settings.apply(element, moduleArguments); // shorthand className = settings.className; error = settings.error; metadata = settings.metadata; // define namespace eventNamespace = '.' + settings.namespace; moduleNamespace = 'module-' + settings.namespace; instance = $module.data(moduleNamespace) || module; // get vendor specific events animationEnd = module.get.animationEndEvent(); if(methodInvoked) { methodInvoked = module.invoke(query); } // method not invoked, lets run an animation if(methodInvoked === false) { module.verbose('Converted arguments into settings object', settings); if(settings.interval) { module.delay(settings.animate); } else { module.animate(); } module.instantiate(); } }, instantiate: function() { module.verbose('Storing instance of module', module); instance = module; $module .data(moduleNamespace, instance) ; }, destroy: function() { module.verbose('Destroying previous module for', element); $module .removeData(moduleNamespace) ; }, refresh: function() { module.verbose('Refreshing display type on next animation'); delete module.displayType; }, forceRepaint: function() { module.verbose('Forcing element repaint'); var $parentElement = $module.parent(), $nextElement = $module.next() ; if($nextElement.length === 0) { $module.detach().appendTo($parentElement); } else { $module.detach().insertBefore($nextElement); } }, repaint: function() { module.verbose('Repainting element'); var fakeAssignment = element.offsetWidth ; }, delay: function(interval) { var direction = module.get.animationDirection(), shouldReverse, delay ; if(!direction) { direction = module.can.transition() ? module.get.direction() : 'static' ; } interval = (interval !== undefined) ? interval : settings.interval ; shouldReverse = (settings.reverse == 'auto' && direction == className.outward); delay = (shouldReverse || settings.reverse == true) ? ($allModules.length - index) * settings.interval : index * settings.interval ; module.debug('Delaying animation by', delay); setTimeout(module.animate, delay); }, animate: function(overrideSettings) { settings = overrideSettings || settings; if(!module.is.supported()) { module.error(error.support); return false; } module.debug('Preparing animation', settings.animation); if(module.is.animating()) { if(settings.queue) { if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) { module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation); } else { module.queue(settings.animation); } return false; } else if(!settings.allowRepeats && module.is.occurring()) { module.debug('Animation is already occurring, will not execute repeated animation', settings.animation); return false; } else { module.debug('New animation started, completing previous early', settings.animation); instance.complete(); } } if( module.can.animate() ) { module.set.animating(settings.animation); } else { module.error(error.noAnimation, settings.animation, element); } }, reset: function() { module.debug('Resetting animation to beginning conditions'); module.remove.animationCallbacks(); module.restore.conditions(); module.remove.animating(); }, queue: function(animation) { module.debug('Queueing animation of', animation); module.queuing = true; $module .one(animationEnd + '.queue' + eventNamespace, function() { module.queuing = false; module.repaint(); module.animate.apply(this, settings); }) ; }, complete: function (event) { module.debug('Animation complete', settings.animation); module.remove.completeCallback(); module.remove.failSafe(); if(!module.is.looping()) { if( module.is.outward() ) { module.verbose('Animation is outward, hiding element'); module.restore.conditions(); module.hide(); } else if( module.is.inward() ) { module.verbose('Animation is outward, showing element'); module.restore.conditions(); module.show(); } else { module.verbose('Static animation completed'); module.restore.conditions(); settings.onComplete.call(element); } } }, force: { visible: function() { var style = $module.attr('style'), userStyle = module.get.userStyle(), displayType = module.get.displayType(), overrideStyle = userStyle + 'display: ' + displayType + ' !important;', currentDisplay = $module.css('display'), emptyStyle = (style === undefined || style === '') ; if(currentDisplay !== displayType) { module.verbose('Overriding default display to show element', displayType); $module .attr('style', overrideStyle) ; } else if(emptyStyle) { $module.removeAttr('style'); } }, hidden: function() { var style = $module.attr('style'), currentDisplay = $module.css('display'), emptyStyle = (style === undefined || style === '') ; if(currentDisplay !== 'none' && !module.is.hidden()) { module.verbose('Overriding default display to hide element'); $module .css('display', 'none') ; } else if(emptyStyle) { $module .removeAttr('style') ; } } }, has: { direction: function(animation) { var hasDirection = false ; animation = animation || settings.animation; if(typeof animation === 'string') { animation = animation.split(' '); $.each(animation, function(index, word){ if(word === className.inward || word === className.outward) { hasDirection = true; } }); } return hasDirection; }, inlineDisplay: function() { var style = $module.attr('style') || '' ; return $.isArray(style.match(/display.*?;/, '')); } }, set: { animating: function(animation) { var animationClass, direction ; // remove previous callbacks module.remove.completeCallback(); // determine exact animation animation = animation || settings.animation; animationClass = module.get.animationClass(animation); // save animation class in cache to restore class names module.save.animation(animationClass); // override display if necessary so animation appears visibly module.force.visible(); module.remove.hidden(); module.remove.direction(); module.start.animation(animationClass); }, duration: function(animationName, duration) { duration = duration || settings.duration; duration = (typeof duration == 'number') ? duration + 'ms' : duration ; if(duration || duration === 0) { module.verbose('Setting animation duration', duration); $module .css({ 'animation-duration': duration }) ; } }, direction: function(direction) { direction = direction || module.get.direction(); if(direction == className.inward) { module.set.inward(); } else { module.set.outward(); } }, looping: function() { module.debug('Transition set to loop'); $module .addClass(className.looping) ; }, hidden: function() { $module .addClass(className.transition) .addClass(className.hidden) ; }, inward: function() { module.debug('Setting direction to inward'); $module .removeClass(className.outward) .addClass(className.inward) ; }, outward: function() { module.debug('Setting direction to outward'); $module .removeClass(className.inward) .addClass(className.outward) ; }, visible: function() { $module .addClass(className.transition) .addClass(className.visible) ; } }, start: { animation: function(animationClass) { animationClass = animationClass || module.get.animationClass(); module.debug('Starting tween', animationClass); $module .addClass(animationClass) .one(animationEnd + '.complete' + eventNamespace, module.complete) ; if(settings.useFailSafe) { module.add.failSafe(); } module.set.duration(settings.duration); settings.onStart.call(element); } }, save: { animation: function(animation) { if(!module.cache) { module.cache = {}; } module.cache.animation = animation; }, displayType: function(displayType) { if(displayType !== 'none') { $module.data(metadata.displayType, displayType); } }, transitionExists: function(animation, exists) { $.fn.transition.exists[animation] = exists; module.verbose('Saving existence of transition', animation, exists); } }, restore: { conditions: function() { var animation = module.get.currentAnimation() ; if(animation) { $module .removeClass(animation) ; module.verbose('Removing animation class', module.cache); } module.remove.duration(); } }, add: { failSafe: function() { var duration = module.get.duration() ; module.timer = setTimeout(function() { $module.triggerHandler(animationEnd); }, duration + settings.failSafeDelay); module.verbose('Adding fail safe timer', module.timer); } }, remove: { animating: function() { $module.removeClass(className.animating); }, animationCallbacks: function() { module.remove.queueCallback(); module.remove.completeCallback(); }, queueCallback: function() { $module.off('.queue' + eventNamespace); }, completeCallback: function() { $module.off('.complete' + eventNamespace); }, display: function() { $module.css('display', ''); }, direction: function() { $module .removeClass(className.inward) .removeClass(className.outward) ; }, duration: function() { $module .css('animation-duration', '') ; }, failSafe: function() { module.verbose('Removing fail safe timer', module.timer); if(module.timer) { clearTimeout(module.timer); } }, hidden: function() { $module.removeClass(className.hidden); }, visible: function() { $module.removeClass(className.visible); }, looping: function() { module.debug('Transitions are no longer looping'); if( module.is.looping() ) { module.reset(); $module .removeClass(className.looping) ; } }, transition: function() { $module .removeClass(className.visible) .removeClass(className.hidden) ; } }, get: { settings: function(animation, duration, onComplete) { // single settings object if(typeof animation == 'object') { return $.extend(true, {}, $.fn.transition.settings, animation); } // all arguments provided else if(typeof onComplete == 'function') { return $.extend({}, $.fn.transition.settings, { animation : animation, onComplete : onComplete, duration : duration }); } // only duration provided else if(typeof duration == 'string' || typeof duration == 'number') { return $.extend({}, $.fn.transition.settings, { animation : animation, duration : duration }); } // duration is actually settings object else if(typeof duration == 'object') { return $.extend({}, $.fn.transition.settings, duration, { animation : animation }); } // duration is actually callback else if(typeof duration == 'function') { return $.extend({}, $.fn.transition.settings, { animation : animation, onComplete : duration }); } // only animation provided else { return $.extend({}, $.fn.transition.settings, { animation : animation }); } return $.fn.transition.settings; }, animationClass: function(animation) { var animationClass = animation || settings.animation, directionClass = (module.can.transition() && !module.has.direction()) ? module.get.direction() + ' ' : '' ; return className.animating + ' ' + className.transition + ' ' + directionClass + animationClass ; }, currentAnimation: function() { return (module.cache && module.cache.animation !== undefined) ? module.cache.animation : false ; }, currentDirection: function() { return module.is.inward() ? className.inward : className.outward ; }, direction: function() { return module.is.hidden() || !module.is.visible() ? className.inward : className.outward ; }, animationDirection: function(animation) { var direction ; animation = animation || settings.animation; if(typeof animation === 'string') { animation = animation.split(' '); // search animation name for out/in class $.each(animation, function(index, word){ if(word === className.inward) { direction = className.inward; } else if(word === className.outward) { direction = className.outward; } }); } // return found direction if(direction) { return direction; } return false; }, duration: function(duration) { duration = duration || settings.duration; if(duration === false) { duration = $module.css('animation-duration') || 0; } return (typeof duration === 'string') ? (duration.indexOf('ms') > -1) ? parseFloat(duration) : parseFloat(duration) * 1000 : duration ; }, displayType: function() { if(settings.displayType) { return settings.displayType; } if($module.data(metadata.displayType) === undefined) { // create fake element to determine display state module.can.transition(true); } return $module.data(metadata.displayType); }, userStyle: function(style) { style = style || $module.attr('style') || ''; return style.replace(/display.*?;/, ''); }, transitionExists: function(animation) { return $.fn.transition.exists[animation]; }, animationStartEvent: function() { var element = document.createElement('div'), animations = { 'animation' :'animationstart', 'OAnimation' :'oAnimationStart', 'MozAnimation' :'mozAnimationStart', 'WebkitAnimation' :'webkitAnimationStart' }, animation ; for(animation in animations){ if( element.style[animation] !== undefined ){ return animations[animation]; } } return false; }, animationEndEvent: function() { var element = document.createElement('div'), animations = { 'animation' :'animationend', 'OAnimation' :'oAnimationEnd', 'MozAnimation' :'mozAnimationEnd', 'WebkitAnimation' :'webkitAnimationEnd' }, animation ; for(animation in animations){ if( element.style[animation] !== undefined ){ return animations[animation]; } } return false; } }, can: { transition: function(forced) { var animation = settings.animation, transitionExists = module.get.transitionExists(animation), elementClass, tagName, $clone, currentAnimation, inAnimation, directionExists, displayType ; if( transitionExists === undefined || forced) { module.verbose('Determining whether animation exists'); elementClass = $module.attr('class'); tagName = $module.prop('tagName'); $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module); currentAnimation = $clone .addClass(animation) .removeClass(className.inward) .removeClass(className.outward) .addClass(className.animating) .addClass(className.transition) .css('animationName') ; inAnimation = $clone .addClass(className.inward) .css('animationName') ; displayType = $clone .attr('class', elementClass) .removeAttr('style') .removeClass(className.hidden) .removeClass(className.visible) .show() .css('display') ; module.verbose('Determining final display state', displayType); module.save.displayType(displayType); $clone.remove(); if(currentAnimation != inAnimation) { module.debug('Direction exists for animation', animation); directionExists = true; } else if(currentAnimation == 'none' || !currentAnimation) { module.debug('No animation defined in css', animation); return; } else { module.debug('Static animation found', animation, displayType); directionExists = false; } module.save.transitionExists(animation, directionExists); } return (transitionExists !== undefined) ? transitionExists : directionExists ; }, animate: function() { // can transition does not return a value if animation does not exist return (module.can.transition() !== undefined); } }, is: { animating: function() { return $module.hasClass(className.animating); }, inward: function() { return $module.hasClass(className.inward); }, outward: function() { return $module.hasClass(className.outward); }, looping: function() { return $module.hasClass(className.looping); }, occurring: function(animation) { animation = animation || settings.animation; animation = '.' + animation.replace(' ', '.'); return ( $module.filter(animation).length > 0 ); }, visible: function() { return $module.is(':visible'); }, hidden: function() { return $module.css('visibility') === 'hidden'; }, supported: function() { return(animationEnd !== false); } }, hide: function() { module.verbose('Hiding element'); if( module.is.animating() ) { module.reset(); } element.blur(); // IE will trigger focus change if element is not blurred before hiding module.remove.display(); module.remove.visible(); module.set.hidden(); module.force.hidden(); settings.onHide.call(element); settings.onComplete.call(element); // module.repaint(); }, show: function(display) { module.verbose('Showing element', display); module.remove.hidden(); module.set.visible(); module.force.visible(); settings.onShow.call(element); settings.onComplete.call(element); // module.repaint(); }, toggle: function() { if( module.is.visible() ) { module.hide(); } else { module.show(); } }, stop: function() { module.debug('Stopping current animation'); $module.triggerHandler(animationEnd); }, stopAll: function() { module.debug('Stopping all animation'); module.remove.queueCallback(); $module.triggerHandler(animationEnd); }, clear: { queue: function() { module.debug('Clearing animation queue'); module.remove.queueCallback(); } }, enable: function() { module.verbose('Starting animation'); $module.removeClass(className.disabled); }, disable: function() { module.debug('Stopping animation'); $module.addClass(className.disabled); }, setting: function(name, value) { module.debug('Changing setting', name, value); if( $.isPlainObject(name) ) { $.extend(true, settings, name); } else if(value !== undefined) { settings[name] = value; } else { return settings[name]; } }, internal: function(name, value) { if( $.isPlainObject(name) ) { $.extend(true, module, name); } else if(value !== undefined) { module[name] = value; } else { return module[name]; } }, debug: function() { if(settings.debug) { if(settings.performance) { module.performance.log(arguments); } else { module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); module.debug.apply(console, arguments); } } }, verbose: function() { if(settings.verbose && settings.debug) { if(settings.performance) { module.performance.log(arguments); } else { module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); module.verbose.apply(console, arguments); } } }, error: function() { module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); module.error.apply(console, arguments); }, performance: { log: function(message) { var currentTime, executionTime, previousTime ; if(settings.performance) { currentTime = new Date().getTime(); previousTime = time || currentTime; executionTime = currentTime - previousTime; time = currentTime; performance.push({ 'Name' : message[0], 'Arguments' : [].slice.call(message, 1) || '', 'Element' : element, 'Execution Time' : executionTime }); } clearTimeout(module.performance.timer); module.performance.timer = setTimeout(module.performance.display, 500); }, display: function() { var title = settings.name + ':', totalTime = 0 ; time = false; clearTimeout(module.performance.timer); $.each(performance, function(index, data) { totalTime += data['Execution Time']; }); title += ' ' + totalTime + 'ms'; if(moduleSelector) { title += ' \'' + moduleSelector + '\''; } if($allModules.length > 1) { title += ' ' + '(' + $allModules.length + ')'; } if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { console.groupCollapsed(title); if(console.table) { console.table(performance); } else { $.each(performance, function(index, data) { console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); }); } console.groupEnd(); } performance = []; } }, // modified for transition to return invoke success invoke: function(query, passedArguments, context) { var object = instance, maxDepth, found, response ; passedArguments = passedArguments || queryArguments; context = element || context; if(typeof query == 'string' && object !== undefined) { query = query.split(/[\. ]/); maxDepth = query.length - 1; $.each(query, function(depth, value) { var camelCaseValue = (depth != maxDepth) ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) : query ; if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { object = object[camelCaseValue]; } else if( object[camelCaseValue] !== undefined ) { found = object[camelCaseValue]; return false; } else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { object = object[value]; } else if( object[value] !== undefined ) { found = object[value]; return false; } else { return false; } }); } if ( $.isFunction( found ) ) { response = found.apply(context, passedArguments); } else if(found !== undefined) { response = found; } if($.isArray(returnedValue)) { returnedValue.push(response); } else if(returnedValue !== undefined) { returnedValue = [returnedValue, response]; } else if(response !== undefined) { returnedValue = response; } return (found !== undefined) ? found : false ; } }; module.initialize(); }) ; return (returnedValue !== undefined) ? returnedValue : this ; }; // Records if CSS transition is available $.fn.transition.exists = {}; $.fn.transition.settings = { // module info name : 'Transition', // debug content outputted to console debug : false, // verbose debug output verbose : false, // performance data output performance : true, // event namespace namespace : 'transition', // delay between animations in group interval : 0, // whether group animations should be reversed reverse : 'auto', // animation callback event onStart : function() {}, onComplete : function() {}, onShow : function() {}, onHide : function() {}, // whether timeout should be used to ensure callback fires in cases animationend does not useFailSafe : true, // delay in ms for fail safe failSafeDelay : 100, // whether EXACT animation can occur twice in a row allowRepeats : false, // Override final display type on visible displayType : false, // animation duration animation : 'fade', duration : false, // new animations will occur after previous ones queue : true, metadata : { displayType: 'display' }, className : { animating : 'animating', disabled : 'disabled', hidden : 'hidden', inward : 'in', loading : 'loading', looping : 'looping', outward : 'out', transition : 'transition', visible : 'visible' }, // possible errors error: { noAnimation : 'Element is no longer attached to DOM. Unable to animate.', repeated : 'That animation is already occurring, cancelling repeated animation', method : 'The method you called is not defined', support : 'This browser does not support CSS animations' } }; })( jQuery, window, document ); </script> <script type="text/javascript"> function wifiscan() { console.log("scan wifi"); $("#ssid_menu").empty(); $("#scan").hide(); $("#scanload").show(); var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { var obj = JSON.parse(xmlHttp.responseText); obj.forEach(function(elem, index, group) { console.log(elem.ssid); $("#ssid_menu").append('<div class="item">'+elem.ssid+'</div>'); // explicitly specify data-value, or it will default to all lowercase // reference: https://github.com/Semantic-Org/Semantic-UI-Docs/pull/145 $(".item:last").attr("data-value", elem.ssid); }); $("#scanload").hide(); $("#scan").show(); } } //use specific ip for debug, use location hostname for release var host = location.hostname; //var host = '192.168.1.16'; var url = 'http://' + host + '/wifiscan'; xmlHttp.open("GET", url, true); // true for asynchronous xmlHttp.send(null); } function saveWifi(info) { var ssid = $('#ssid').dropdown('get value'); var pwd = document.getElementById("password").value; if (ssid == "[object Object]") { console.log("no ssid"); return; } console.log("here save wifi:", ssid, pwd); var host = location.hostname; var url = 'http://' + host + '/save'; $.extend({ StandardPost:function(url, args) { var form = $("<form method='post'></form>"); var input; form.attr({"action": url}); $.each(args,function(key, value){ input = $("<input type='hidden'>"); input.attr({"name": key}); input.val(value); form.append(input); }); form.submit(); } }); $.StandardPost(url, {"ssid":ssid,"password":pwd}); } $(window).load(function() { wifiscan(); //setInterval("wifiscan()", 5000); }); $(document).ready(function() { $('.ui.dropdown').dropdown( { allowAdditions: true } ); }); </script> <!-- js below has been added inline <script src="./jquery-1.12.3.min.js"></script> <script src="./UI-Dropdown/dropdown.js"></script> <script src="./UI-Transition/transition.js"></script> <script src="./UI-Form/form.js"></script> --> </body> </html>
Report a bug