diff --git a/modules/backend/assets/css/october.css b/modules/backend/assets/css/october.css index f3a3e8ba4..b9fbdca8d 100644 --- a/modules/backend/assets/css/october.css +++ b/modules/backend/assets/css/october.css @@ -1,3 +1,4 @@ +<<<<<<< HEAD @import "../vendor/jcrop/css/jquery.Jcrop.min.css"; @-webkit-keyframes showSweetAlert { 0% { @@ -15648,3 +15649,3350 @@ body.flyout-visible { body.flyout-visible .flyout-overlay { background-color: rgba(0, 0, 0, 0.3); } +======= +@import "../vendor/jcrop/css/jquery.Jcrop.min.css";@-webkit-keyframes showSweetAlert{0%{transform:scale(0.7);-webkit-transform:scale(0.7)} +45%{transform:scale(1.05);-webkit-transform:scale(1.05)} +80%{transform:scale(0.95);-webkit-tranform:scale(0.95)} +100%{transform:scale(1);-webkit-transform:scale(1)} +} +@keyframes showSweetAlert{0%{transform:scale(0.7);-webkit-transform:scale(0.7)} +45%{transform:scale(1.05);-webkit-transform:scale(1.05)} +80%{transform:scale(0.95);-webkit-tranform:scale(0.95)} +100%{transform:scale(1);-webkit-transform:scale(1)} +} +@-webkit-keyframes hideSweetAlert{0%{transform:scale(1);-webkit-transform:scale(1)} +100%{transform:scale(0.5);-webkit-transform:scale(0.5)} +} +@keyframes hideSweetAlert{0%{transform:scale(1);-webkit-transform:scale(1)} +100%{transform:scale(0.5);-webkit-transform:scale(0.5)} +} +.showSweetAlert{-webkit-animation:showSweetAlert 0.3s;animation:showSweetAlert 0.3s} +.hideSweetAlert{-webkit-animation:hideSweetAlert 0.2s;animation:hideSweetAlert 0.2s} +@-webkit-keyframes animateSuccessTip{0%{width:0;left:1px;top:19px} +54%{width:0;left:1px;top:19px} +70%{width:50px;left:-8px;top:37px} +84%{width:17px;left:21px;top:48px} +100%{width:25px;left:14px;top:45px} +} +@keyframes animateSuccessTip{0%{width:0;left:1px;top:19px} +54%{width:0;left:1px;top:19px} +70%{width:50px;left:-8px;top:37px} +84%{width:17px;left:21px;top:48px} +100%{width:25px;left:14px;top:45px} +} +@-webkit-keyframes animateSuccessLong{0%{width:0;right:46px;top:54px} +65%{width:0;right:46px;top:54px} +84%{width:55px;right:0px;top:35px} +100%{width:47px;right:8px;top:38px} +} +@keyframes animateSuccessLong{0%{width:0;right:46px;top:54px} +65%{width:0;right:46px;top:54px} +84%{width:55px;right:0px;top:35px} +100%{width:47px;right:8px;top:38px} +} +@-webkit-keyframes rotatePlaceholder{0%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)} +5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)} +12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)} +100%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)} +} +@keyframes rotatePlaceholder{0%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)} +5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)} +12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)} +100%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)} +} +.animateSuccessTip{-webkit-animation:animateSuccessTip 0.75s;animation:animateSuccessTip 0.75s} +.animateSuccessLong{-webkit-animation:animateSuccessLong 0.75s;animation:animateSuccessLong 0.75s} +.icon.success.animate::after{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in} +@-webkit-keyframes animateErrorIcon{0%{transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0} +100%{transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1} +} +@keyframes animateErrorIcon{0%{transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0} +100%{transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1} +} +.animateErrorIcon{-webkit-animation:animateErrorIcon 0.5s;animation:animateErrorIcon 0.5s} +@-webkit-keyframes animateXMark{0%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0} +50%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0} +80%{transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px} +100%{transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1} +} +@keyframes animateXMark{0%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0} +50%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0} +80%{transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px} +100%{transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1} +} +.animateXMark{-webkit-animation:animateXMark 0.5s;animation:animateXMark 0.5s} +@-webkit-keyframes pulseWarning{0%{border-color:#F8D486} +100%{border-color:#F8BB86} +} +@keyframes pulseWarning{0%{border-color:#F8D486} +100%{border-color:#F8BB86} +} +.pulseWarning{-webkit-animation:pulseWarning 0.75s infinite alternate;animation:pulseWarning 0.75s infinite alternate} +@-webkit-keyframes pulseWarningIns{0%{background-color:#F8D486} +100%{background-color:#F8BB86} +} +@keyframes pulseWarningIns{0%{background-color:#F8D486} +100%{background-color:#F8BB86} +} +.pulseWarningIns{-webkit-animation:pulseWarningIns 0.75s infinite alternate;animation:pulseWarningIns 0.75s infinite alternate} +.sweet-overlay{background-color:rgba(0,0,0,0.4);position:fixed;left:0;right:0;top:0;bottom:0;display:none;z-index:8050} +.sweet-alert{background-color:#f9f9f9;width:478px;padding:17px;border-radius:5px;text-align:center;position:fixed;left:50%;top:50%;margin-left:-256px;margin-top:-200px;overflow:hidden;display:none;z-index:9050} +.sweet-alert h4{margin:30px 0;word-wrap:break-word} +@media all and (max-width:767px){.sweet-alert{width:auto;margin-left:0;margin-right:0;left:15px;right:15px} +} +.sweet-alert .icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;margin:20px auto;position:relative;box-sizing:content-box} +.sweet-alert .icon.error{border-color:#d43f3a} +.sweet-alert .icon.error .x-mark{position:relative;display:block} +.sweet-alert .icon.error .line{position:absolute;height:5px;width:47px;background-color:#d9534f;display:block;top:37px;border-radius:2px} +.sweet-alert .icon.error .line.left{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px} +.sweet-alert .icon.error .line.right{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px} +.sweet-alert .icon.warning{border-color:#eea236} +.sweet-alert .icon.warning .body{position:absolute;width:5px;height:47px;left:50%;top:10px;border-radius:2px;margin-left:-2px;background-color:#f0ad4e} +.sweet-alert .icon.warning .dot{position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;left:50%;bottom:10px;background-color:#f0ad4e} +.sweet-alert .icon.info{border-color:#46b8da} +.sweet-alert .icon.info::before{content:"";position:absolute;width:5px;height:29px;left:50%;bottom:17px;border-radius:2px;margin-left:-2px;background-color:#5bc0de} +.sweet-alert .icon.info::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;top:19px;background-color:#5bc0de} +.sweet-alert .icon.success{border-color:#4cae4c} +.sweet-alert .icon.success::before,.sweet-alert .icon.success::after{content:'';border-radius:50%;position:absolute;width:60px;height:120px;background:white;-webkit-transform:rotate(45deg);transform:rotate(45deg)} +.sweet-alert .icon.success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px} +.sweet-alert .icon.success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0px 60px;transform-origin:0px 60px} +.sweet-alert .icon.success .placeholder{width:80px;height:80px;border:4px solid rgba(92,184,92,0.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2} +.sweet-alert .icon.success .fix{width:5px;height:90px;background-color:#f9f9f9;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} +.sweet-alert .icon.success .line{height:5px;background-color:#5cb85c;display:block;border-radius:2px;position:absolute;z-index:2} +.sweet-alert .icon.success .line.tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)} +.sweet-alert .icon.success .line.long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} +.sweet-alert .icon.custom{background-size:contain;border-radius:0;border:none;background-position:center center;background-repeat:no-repeat} +.sweet-alert .btn-default:focus{border-color:#e3e3e3;outline:0} +.sweet-alert .btn-success:focus{border-color:#4cae4c;outline:0} +.sweet-alert .btn-info:focus{border-color:#46b8da;outline:0} +.sweet-alert .btn-danger:focus{border-color:#d43f3a;outline:0} +.sweet-alert .btn-warning:focus{border-color:#eea236;outline:0} +.sweet-alert button::-moz-focus-inner{border:0} +.control-simplelist{font-size:13px} +.control-simplelist ul{padding-left:15px} +.control-simplelist.form-control ul{margin-bottom:0} +.control-simplelist.form-control li{padding-top:5px;padding-bottom:5px} +.control-simplelist.with-icons ul,.control-simplelist.with-checkboxes ul,.control-simplelist.is-selectable ul{list-style-type:none;padding-left:0} +.control-simplelist.is-sortable li.placeholder{position:relative} +.control-simplelist.is-sortable li.placeholder:before{top:-10px;position:absolute;content:'';display:block;width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:5px solid #999999} +.control-simplelist.is-sortable li.dragged{position:absolute;opacity:0.5;filter:alpha(opacity=50);z-index:2000;color:#e67e22;width:auto !important} +.control-simplelist.is-scrollable{height:200px} +.control-simplelist.is-scrollable.size-tiny{min-height:250px} +.control-simplelist.is-scrollable.size-small{min-height:300px} +.control-simplelist.is-scrollable.size-large{min-height:400px} +.control-simplelist.is-scrollable.size-huge{min-height:450px} +.control-simplelist.is-scrollable.size-giant{min-height:550px} +.control-simplelist.is-selectable li{padding:5px 10px;border-bottom:1px solid #e2e2e2} +.control-simplelist.is-selectable li .heading{font-size:14px;font-weight:bold} +.control-simplelist.is-selectable li a{padding:5px 10px;margin:-5px -10px;display:block;color:#333333} +.control-simplelist.is-selectable li:hover{background:#4da7e8;cursor:pointer} +.control-simplelist.is-selectable li:hover,.control-simplelist.is-selectable li:hover a{color:white} +.control-simplelist.is-selectable li:hover a{text-decoration:none} +.control-simplelist.is-selectable li:last-child{border-bottom:none} +.control-simplelist.is-selectable li.active a{background:#f0f0f0} +.control-simplelist.is-selectable li.active a:hover{background:#4da7e8} +.list-preview .control-simplelist.is-selectable ul{margin-bottom:0} +.drag-noselect{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none} +.control-scrollbar{position:relative;overflow:hidden;height:100%;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)} +.control-scrollbar > div{-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)} +.control-scrollbar > .scrollbar-scrollbar{position:absolute;z-index:100} +.control-scrollbar > .scrollbar-scrollbar .scrollbar-track{background-color:transparent;position:relative;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} +.control-scrollbar > .scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{background-color:#aaaaaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;overflow:hidden;position:absolute} +.control-scrollbar > .scrollbar-scrollbar.disabled{display:none !important} +.control-scrollbar.vertical > .scrollbar-scrollbar{right:0;width:4px} +.control-scrollbar.vertical > .scrollbar-scrollbar .scrollbar-track{height:100%;width:4px} +.control-scrollbar.vertical > .scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{height:20px;width:4px;top:0;left:0} +.control-scrollbar.vertical > .scrollbar-scrollbar:active,.control-scrollbar.vertical > .scrollbar-scrollbar:hover{width:6px;-webkit-transition:width 0.3s;transition:width 0.3s} +.control-scrollbar.vertical > .scrollbar-scrollbar:active .scrollbar-track,.control-scrollbar.vertical > .scrollbar-scrollbar:hover .scrollbar-track,.control-scrollbar.vertical > .scrollbar-scrollbar:active .scrollbar-thumb,.control-scrollbar.vertical > .scrollbar-scrollbar:hover .scrollbar-thumb{width:6px;-webkit-transition:width 0.3s;transition:width 0.3s} +.control-scrollbar.horizontal > .scrollbar-scrollbar{margin:0 0 5px;clear:both;height:4px} +.control-scrollbar.horizontal > .scrollbar-scrollbar .scrollbar-track{width:100%;height:4px} +.control-scrollbar.horizontal > .scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{height:4px;margin:2px 0;left:0;top:0} +.control-scrollbar.horizontal > .scrollbar-scrollbar:active,.control-scrollbar.horizontal > .scrollbar-scrollbar:hover{height:6px;-webkit-transition:height 0.3s;transition:height 0.3s} +.control-scrollbar.horizontal > .scrollbar-scrollbar:active .scrollbar-track,.control-scrollbar.horizontal > .scrollbar-scrollbar:hover .scrollbar-track,.control-scrollbar.horizontal > .scrollbar-scrollbar:active .scrollbar-thumb,.control-scrollbar.horizontal > .scrollbar-scrollbar:hover .scrollbar-thumb{height:6px;-webkit-transition:height 0.3s;transition:height 0.3s} +.no-touch .control-scrollbar > .scrollbar-scrollbar{opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} +.no-touch .control-scrollbar:active > .scrollbar-scrollbar,.no-touch .control-scrollbar:hover > .scrollbar-scrollbar{opacity:1} +@media (max-width:768px){.responsive-sidebar > .layout-cell:last-child .control-scrollbar{overflow:visible;height:auto} +.responsive-sidebar > .layout-cell:last-child .control-scrollbar .scrollbar-scrollbar{display:none !important} +} +.control-filelist p.no-data{padding:18px 0;margin:0;color:#666666;font-size:12px;text-align:center;font-weight:400;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +.control-filelist ul{padding:0;margin:0} +.control-filelist ul li{font-weight:300;line-height:150%;position:relative;list-style:none} +.control-filelist ul li a:hover{background:#dddddd} +.control-filelist ul li.active a{background:#dddddd;position:relative} +.control-filelist ul li.active a:after{position:absolute;height:100%;width:4px;left:0;top:0;background:#e67e22;display:block;content:' '} +.control-filelist ul li a{display:block;padding:10px 40px 10px 20px;outline:none} +.control-filelist ul li a:hover,.control-filelist ul li a:focus,.control-filelist ul li a:active{text-decoration:none} +.control-filelist ul li a span{display:block} +.control-filelist ul li a span.title{font-weight:500;color:#405261;font-size:12px} +.control-filelist ul li a span.description{color:#8f8f8f;font-size:12px;font-weight:500} +.control-filelist ul li a span.description strong{color:#405261;font-weight:500} +.control-filelist ul li.group > h4,.control-filelist ul li.group > div.group > h4{font-weight:500;font-size:12px;margin-top:0;margin-bottom:0;display:relative} +.control-filelist ul li.group > h4 a,.control-filelist ul li.group > div.group > h4 a{padding:10px 20px 10px 53px;color:#405261;position:relative;outline:none} +.control-filelist ul li.group > h4 a:hover,.control-filelist ul li.group > div.group > h4 a:hover{background:transparent} +.control-filelist ul li.group > h4 a:before,.control-filelist ul li.group > div.group > h4 a:before,.control-filelist ul li.group > h4 a:after,.control-filelist ul li.group > div.group > h4 a:after{width:10px;height:10px;display:block;position:absolute;top:1px} +.control-filelist ul li.group > h4 a:after,.control-filelist ul li.group > div.group > h4 a:after{left:34px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f07b";color:#a1aab1;font-size:14px;top:9px} +.control-filelist ul li.group > h4 a:before,.control-filelist ul li.group > div.group > h4 a:before{left:20px;top:9px;color:#cfcfcf;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0da";-webkit-transform:rotate(90deg) translate(5px,0);-ms-transform:rotate(90deg) translate(5px,0);transform:rotate(90deg) translate(5px,0);-webkit-transition:all 0.1s ease;transition:all 0.1s ease} +.control-filelist ul li.group > ul > li > a{padding-left:52px} +.control-filelist ul li.group > ul > li.group{padding-left:20px} +.control-filelist ul li.group > ul > li.group > ul > li > a{padding-left:324px;margin-left:-270px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:297px;margin-left:-243px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:270px;margin-left:-216px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:243px;margin-left:-189px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:216px;margin-left:-162px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:189px;margin-left:-135px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:162px;margin-left:-108px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:135px;margin-left:-81px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:108px;margin-left:-54px} +.control-filelist ul li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li.group > ul > li > a{padding-left:81px;margin-left:-27px} +.control-filelist ul li.group[data-status=collapsed] > h4 a:before,.control-filelist ul li.group[data-status=collapsed] > div.group > h4 a:before{-webkit-transform:rotate(0deg) translate(3px,0);-ms-transform:rotate(0deg) translate(3px,0);transform:rotate(0deg) translate(3px,0)} +.control-filelist ul li.group[data-status=collapsed] > ul,.control-filelist ul li.group[data-status=collapsed] > div.subitems{display:none} +.control-filelist ul li .checkbox{position:absolute;top:13px;right:17px} +.control-filelist ul li .checkbox label{margin-right:0} +.control-filelist ul li .checkbox label:before{border-color:#cccccc} +.control-filelist.hero ul li{background:#ffffff;border-bottom:none} +.control-filelist.hero ul li > a{padding:16px 45px 15px 50px;font-size:13px;border-bottom:1px solid #ecf0f1} +.control-filelist.hero ul li > a span.title{font-size:13px;font-weight:600;color:#2b3e50} +.control-filelist.hero ul li > a:hover{background:#58b6f7;border-bottom:1px solid #58b6f7 !important} +.control-filelist.hero ul li > a:hover span.title,.control-filelist.hero ul li > a:hover span.description{color:#ffffff !important} +.control-filelist.hero ul li .checkbox{top:17px;right:17px} +.control-filelist.hero ul li.active > a{border-bottom:1px solid #dddddd} +.control-filelist.hero ul li.active > a:after{top:-1px;bottom:-1px;height:auto} +.control-filelist.hero ul li.active > a > span.borders:before{content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#dddddd} +.control-filelist.hero ul li.active > a > span.borders:before{top:-1px} +.control-filelist.hero ul li.active > a:hover > span.borders:before{background-color:#58b6f7} +.control-filelist.hero ul li > h4{padding-top:7px;padding-bottom:6px;border-bottom:1px solid #ecf0f1} +.control-filelist.hero ul > li.group > ul > li > a{padding-left:66px} +.touch .control-filelist li:not(.active) a:hover{background:transparent} +.control-scrollpanel{position:relative;background:#ecf0f1} +.control-scrollpanel .control-scrollbar.vertical > .scrollbar-scrollbar{right:0} +.tooltip .tooltip-inner{text-align:left;padding:5px 8px} +.tooltip.in{opacity:1;filter:alpha(opacity=100)} +.oc-logo-white{background-image:url(../images/october-logo-white.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain} +.oc-bg-logo{background-image:url(../images/october-logo-transparent.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:50% auto} +.sweet-alert{text-align:left} +.sweet-alert h4{margin:10px 0 20px 0;color:#2b3e50;font-size:18px} +.sweet-alert p.text-muted{margin-bottom:20px;color:#555555} +.report-widget{padding:15px;background:white;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +.report-widget h3{font-size:14px;color:#7e8c8d;text-transform:uppercase;font-weight:600;margin-top:0;margin-bottom:30px} +.report-widget .height-100{height:100px} +.report-widget .height-200{height:200px} +.report-widget .height-300{height:300px} +.report-widget .height-400{height:400px} +.report-widget .height-500{height:500px} +.report-widget p.report-description{margin-bottom:0;margin-top:15px;font-size:12px;line-height:190%;color:#7e8c8d} +.report-widget p.flash-message.static{margin-bottom:0} +.control-treelist ol{padding:0;margin:0;list-style:none} +.control-treelist ol ol{margin:0;margin-left:15px;padding-left:15px;border-left:1px solid #dbdee0} +.control-treelist > ol > li > div.record:before{display:none} +.control-treelist li{margin:0;padding:0} +.control-treelist li > div.record{margin:0;font-size:12px;margin-bottom:5px;position:relative;display:block} +.control-treelist li > div.record:before{color:#bdc3c7;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f111";font-size:6px;position:absolute;left:-18px;top:11px} +.control-treelist li > div.record > a.move{display:inline-block;padding:7px 0 7px 10px;text-decoration:none;color:#bdc3c7} +.control-treelist li > div.record > a.move:hover{color:#4da7e8} +.control-treelist li > div.record > a.move:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0c9"} +.control-treelist li > div.record > span{color:#666666;display:inline-block;padding:7px 15px 7px 5px} +.control-treelist li.dragged{position:absolute;z-index:2000;width:auto !important;height:auto !important} +.control-treelist li.dragged > div.record{opacity:0.5;filter:alpha(opacity=50);background:#4da7e8 !important} +.control-treelist li.dragged > div.record > a.move:before,.control-treelist li.dragged > div.record > span{color:white} +.control-treelist li.dragged > div.record:before{display:none} +.control-treelist li.placeholder{display:inline-block;position:relative;background:#4da7e8 !important;height:25px;margin-bottom:5px} +.control-treelist li.placeholder:before{display:block;position:absolute;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f053";color:#d35714;left:-10px;top:8px;z-index:2000} +.control-treeview{margin-bottom:40px; } +.control-treeview ol{margin:0;padding:0;list-style:none;background:#ffffff} +.control-treeview ol > li{-webkit-transition:width 1s;transition:width 1s} +.control-treeview ol > li > div{font-size:13px;font-weight:600;background:#ffffff;border-bottom:1px solid #ecf0f1;position:relative} +.control-treeview ol > li > div > a{color:#2b3e50;padding:16px 45px 15px 61px;display:block;line-height:150%;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.control-treeview ol > li > div:before{content:' ';background-image:url(../images/treeview-icons.png);background-position:0px -28px;background-repeat:no-repeat;background-size:42px auto;position:absolute;width:21px;height:22px;left:28px;top:20px} +.control-treeview ol > li > div span.comment{display:block;font-weight:400;color:#95a5a6;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis} +.control-treeview ol > li > div > span.expand{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:none;position:absolute;left:0;width:20px;height:20px;top:24px;left:2px;cursor:pointer;color:#bdc3c7;-webkit-transition:transform 0.1s ease;transition:transform 0.1s ease} +.control-treeview ol > li > div > span.expand:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0da";line-height:100%;font-size:15px;position:relative;left:8px;top:2px} +.control-treeview ol > li > div > span.drag-handle{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;-webkit-transition:opacity 0.4s;transition:opacity 0.4s;position:absolute;right:24px;bottom:5px;width:14px;height:14px;cursor:move;color:#bdc3c7;opacity:0;filter:alpha(opacity=0)} +.control-treeview ol > li > div > span.drag-handle:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0c9";font-size:14px} +.control-treeview ol > li > div span.borders{font-size:0} +.control-treeview ol > li > div > ul.submenu{position:absolute;left:20px;bottom:-37px;padding:0;list-style:none;z-index:200;height:37px;display:none;margin-left:15px;background:transparent url(../images/treeview-submenu-tabs.png) repeat-x left -39px} +.control-treeview ol > li > div > ul.submenu:before,.control-treeview ol > li > div > ul.submenu:after{background:transparent url(../images/treeview-submenu-tabs.png) no-repeat left top;content:' ';display:block;width:20px;height:37px;position:absolute;top:0} +.control-treeview ol > li > div > ul.submenu:before{left:-20px} +.control-treeview ol > li > div > ul.submenu:after{background-position:-100px top;right:-20px} +.control-treeview ol > li > div > ul.submenu li{font-size:12px} +.control-treeview ol > li > div > ul.submenu li a{display:block;padding:4px 3px 0 3px;color:#ffffff;text-decoration:none;outline:none} +.control-treeview ol > li > div > ul.submenu li a i{margin-right:5px} +.control-treeview ol > li > div:hover > ul.submenu{display:block} +.control-treeview ol > li > div .checkbox{position:absolute;top:19px;right:17px} +.control-treeview ol > li > div .checkbox label{margin-right:0} +.control-treeview ol > li > div .checkbox label:before{border-color:#cccccc} +.control-treeview ol > li > div.popover-highlight{background-color:#58b6f7 !important} +.control-treeview ol > li > div.popover-highlight:before{background-position:0px -80px} +.control-treeview ol > li > div.popover-highlight > a{color:#ffffff !important;cursor:default} +.control-treeview ol > li > div.popover-highlight span{color:#ffffff !important} +.control-treeview ol > li > div.popover-highlight > ul.submenu,.control-treeview ol > li > div.popover-highlight > span.drag-handle{display:none !important} +.control-treeview ol > li.dragged div,.control-treeview ol > li > div:hover{background-color:#58b6f7 !important} +.control-treeview ol > li.dragged div > a,.control-treeview ol > li > div:hover > a{color:#ffffff !important} +.control-treeview ol > li.dragged div:before,.control-treeview ol > li > div:hover:before{background-position:0px -80px} +.control-treeview ol > li.dragged div:after,.control-treeview ol > li > div:hover:after{top:0 !important;bottom:0 !important} +.control-treeview ol > li.dragged div span,.control-treeview ol > li > div:hover span{color:#ffffff !important} +.control-treeview ol > li.dragged div span.drag-handle,.control-treeview ol > li > div:hover span.drag-handle{cursor:move;opacity:1;filter:alpha(opacity=100)} +.control-treeview ol > li.dragged div span.borders,.control-treeview ol > li > div:hover span.borders{display:none} +.control-treeview ol > li[data-no-drag-mode] div:hover span.drag-handle{cursor:default !important;opacity:0.3 !important;filter:alpha(opacity=30) !important} +.control-treeview ol > li.dragged li.has-subitems > div:before,.control-treeview ol > li.dragged.has-subitems > div:before{background-position:0px -52px} +.control-treeview ol > li.dragged div > ul.submenu{display:none !important} +.control-treeview ol > li > ol{padding-left:20px} +.control-treeview ol > li[data-status=collapsed] > ol{display:none} +.control-treeview ol > li.has-subitems > div:before{background-position:0 0;width:23px;height:26px;left:26px} +.control-treeview ol > li.has-subitems > div:hover:before,.control-treeview ol > li.has-subitems > div.popover-highlight:before{background-position:0px -52px} +.control-treeview ol > li.has-subitems > div span.expand{display:block} +.control-treeview ol > li.placeholder{height:0;position:relative;border-bottom:1px dotted #c03f31} +.control-treeview ol > li.placeholder:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0da";font-size:23px;color:white;position:absolute;left:-11px;top:-17px;z-index:1900} +.control-treeview ol > li.placeholder:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0da";font-size:21px;color:#c03f31;position:absolute;left:-10px;top:-14px;z-index:1901} +.control-treeview ol > li.dragged{position:absolute;z-index:2000;opacity:0.5;filter:alpha(opacity=50)} +.control-treeview ol > li.dragged > div{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +.control-treeview ol > li.drop-target > div{background-color:#2581b8 !important} +.control-treeview ol > li.drop-target > div > a{color:#ffffff} +.control-treeview ol > li.drop-target > div > a > span.comment{color:#ffffff} +.control-treeview ol > li.drop-target > div:before{background-position:0px -80px} +.control-treeview ol > li.drop-target.has-subitems > div:before{background-position:0px -52px} +.control-treeview ol > li[data-status=expanded] > div > span.expand{-webkit-transform:rotate(90deg) translate(0,0);-ms-transform:rotate(90deg) translate(0,0);transform:rotate(90deg) translate(0,0)} +.control-treeview ol > li.drag-ghost{background-color:transparent;box-sizing:content-box} +.control-treeview ol > li.active > div{background:#dddddd} +.control-treeview ol > li.active > div:after{position:absolute;width:4px;left:0;top:-1px;bottom:-1px;background:#e67e22;display:block;content:' '} +.control-treeview ol > li.active > div > span.comment,.control-treeview ol > li.active > div > span.expand{color:#8f8f8f} +.control-treeview ol > li.active > div > span.borders:before,.control-treeview ol > li.active > div > span.borders:after{content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#dddddd} +.control-treeview ol > li.active > div > span.borders:before{top:-1px} +.control-treeview ol > li.active > div > span.borders:after{bottom:-1px} +.control-treeview ol > li.no-data{padding:18px 0;margin:0;color:#666666;font-size:12px;text-align:center;font-weight:400} +.control-treeview ol > li > ol > li > div{margin-left:-20px;padding-left:71px} +.control-treeview ol > li > ol > li > div > a{margin-left:-71px;padding-left:71px} +.control-treeview ol > li > ol > li > div:before{margin-left:10px} +.control-treeview ol > li > ol > li > div > span.expand{left:12px} +.control-treeview ol > li > ol > li > ol > li > div{margin-left:-40px;padding-left:81px} +.control-treeview ol > li > ol > li > ol > li > div > a{margin-left:-81px;padding-left:81px} +.control-treeview ol > li > ol > li > ol > li > div:before{margin-left:20px} +.control-treeview ol > li > ol > li > ol > li > div > span.expand{left:22px} +.control-treeview ol > li > ol > li > ol > li > ol > li > div{margin-left:-60px;padding-left:91px} +.control-treeview ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-91px;padding-left:91px} +.control-treeview ol > li > ol > li > ol > li > ol > li > div:before{margin-left:30px} +.control-treeview ol > li > ol > li > ol > li > ol > li > div > span.expand{left:32px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-80px;padding-left:101px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-101px;padding-left:101px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:40px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:42px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-100px;padding-left:111px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-111px;padding-left:111px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:50px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:52px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-120px;padding-left:121px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-121px;padding-left:121px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:60px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:62px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-140px;padding-left:131px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-131px;padding-left:131px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:70px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:72px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-160px;padding-left:141px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-141px;padding-left:141px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:80px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:82px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-180px;padding-left:151px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-151px;padding-left:151px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:90px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:92px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div{margin-left:-200px;padding-left:161px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > a{margin-left:-161px;padding-left:161px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div:before{margin-left:100px} +.control-treeview ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > div > span.expand{left:102px} +.control-treeview p.no-data{padding:18px 0;margin:0;color:#666666;font-size:12px;text-align:center;font-weight:400} +.control-treeview a.menu-control{display:block;margin:20px;padding:13px 15px;border:dotted 2px #ebebeb;color:#bdc3c7;font-size:12px;font-weight:600;text-transform:uppercase;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;vertical-align:middle} +.control-treeview a.menu-control:hover{text-decoration:none;background-color:#58b6f7 !important;color:#ffffff !important;border:none;padding:15px 17px} +.control-treeview a.menu-control i{margin-right:10px;font-size:14px} +.control-treeview.light{margin-bottom:0;margin-top:20px} +.control-treeview.light ol{background-color:transparent} +.control-treeview.light ol > li > div{background-color:transparent;border-bottom:none} +.control-treeview.light ol > li > div:before{top:15px} +.control-treeview.light ol > li > div > a{padding-top:10px;padding-bottom:10px} +.control-treeview.light ol > li > div span.expand{top:19px} +.control-treeview.light ol > li > div > span.drag-handle{top:0;right:0;bottom:auto;height:100%;width:60px;background:#2581b8;-webkit-transition:none !important;transition:none !important} +.control-treeview.light ol > li > div > span.drag-handle:before{position:absolute;left:50%;top:50%;margin-left:-6px} +.control-treeview.light ol > li > div > ul.submenu{right:60px;left:auto;bottom:auto;top:0;height:100%;margin:0;background:transparent;white-space:nowrap;font-size:0} +.control-treeview.light ol > li > div > ul.submenu:before,.control-treeview.light ol > li > div > ul.submenu:after{display:none} +.control-treeview.light ol > li > div > ul.submenu li{height:100%;display:inline-block;background:#2581b8;border-right:1px solid #328ec8} +.control-treeview.light ol > li > div > ul.submenu li p{display:table;height:100%;padding:0;margin:0} +.control-treeview.light ol > li > div > ul.submenu li p a{display:table-cell;vertical-align:middle;height:100%;padding:0 20px;font-size:13px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.control-treeview.light ol > li > div > ul.submenu li p a i.control-icon{font-size:22px;margin-right:0} +@media only screen and (-moz-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-devicepixel-ratio:1.5),only screen and (min-resolution:1.5dppx){.control-treeview ol > li > div:before{background-position:0px -79px;background-size:21px auto} +.control-treeview ol > li.has-subitems > div:before{background-position:0px -52px} +.control-treeview ol > li.has-subitems > div:hover:before,.control-treeview ol > li.has-subitems > div.popover-highlight:before{background-position:0px -102px} +.control-treeview ol > li.dragged > div:before,.control-treeview ol > li.dragged li > div:before,.control-treeview ol > li > div:hover:before,.control-treeview ol > li > div.popover-highlight:before{background-position:0px -129px} +.control-treeview ol > li.dragged li.has-subitems > div:before,.control-treeview ol > li.dragged.has-subitems > div:before{background-position:0px -102px} +.control-treeview ol > li.drop-target > div:before{background-position:0px -129px} +.control-treeview ol > li.drop-target.has-subitems > div:before{background-position:0px -102px} +} +.sidenav-tree{width:280px;background:#34495e} +.sidenav-tree .control-toolbar{padding:20px 0 20px 20px} +.sidenav-tree .control-toolbar input.form-control{border:none} +.sidenav-tree ul{padding:0;margin:0;list-style:none} +.sidenav-tree div.scrollbar-thumb{background:#2b3e50 !important} +.sidenav-tree ul.top-level > li[data-status=collapsed] > div.group h3:before{-webkit-transform:rotate(0deg) translate(3px,0);-ms-transform:rotate(0deg) translate(3px,0);transform:rotate(0deg) translate(3px,0)} +.sidenav-tree ul.top-level > li[data-status=collapsed] ul{display:none} +.sidenav-tree ul.top-level > li > div.group h3{background:#2b3e50;color:#ecf0f1;text-transform:uppercase;font-size:14px;padding:15px 15px 15px 33px;margin:0;position:relative;cursor:pointer} +.sidenav-tree ul.top-level > li > div.group h3:before{width:10px;height:10px;display:block;position:absolute;top:1px} +.sidenav-tree ul.top-level > li > div.group h3:before{left:13px;top:15px;color:#cfcfcf;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0da";-webkit-transform:rotate(90deg) translate(5px,0);-ms-transform:rotate(90deg) translate(5px,0);transform:rotate(90deg) translate(5px,0);-webkit-transition:all 0.1s ease;transition:all 0.1s ease} +.sidenav-tree ul.top-level > li > ul li a{display:block;position:relative;padding:15px 15px 15px 40px;background:#3d5265;margin-bottom:1px;color:rgba(255,255,255,0.26);text-decoration:none !important} +.sidenav-tree ul.top-level > li > ul li a:hover{text-decoration:none} +.sidenav-tree ul.top-level > li > ul li a i{position:absolute;left:15px;top:17px;font-size:16px} +.sidenav-tree ul.top-level > li > ul li a span{display:block;line-height:150%} +.sidenav-tree ul.top-level > li > ul li a span.header{color:rgba(255,255,255,0.74);font-size:14px;margin-bottom:5px} +.sidenav-tree ul.top-level > li > ul li a span.description{color:rgba(255,255,255,0.64);font-size:12px;font-weight:100} +.sidenav-tree ul.top-level > li > ul li.active a{background:#34495e;color:rgba(255,255,255,0.91)} +.sidenav-tree ul.top-level > li > ul li.active a:before{content:' ';position:absolute;width:4px;background:#e67e22;left:0;top:0;height:100%} +.sidenav-tree ul.top-level > li > ul li.active a span.header{color:#ffffff} +.sidenav-tree ul.top-level > li > ul li.active a span.description{color:rgba(255,255,255,0.91)} +.sidenav-tree ul.top-level > li > ul li:last-child a{margin-bottom:0} +.sidenav-tree ul.top-level > li > ul li:hover a{background-color:#34495e} +.sidenav-tree .back-link{display:none} +@media (max-width:768px){.sidenav-tree{width:100%;height:auto !important;display:block !important} +.sidenav-tree > .layout{display:none} +.sidenav-tree-root .sidenav-tree{width:100% !important;height:100% !important;display:table-cell !important} +.sidenav-tree-root .sidenav-tree .back-link{display:none !important} +.sidenav-tree-root .sidenav-tree > .layout{display:table !important} +.sidenav-tree-root #layout-body{display:none} +body.has-sidenav-tree .sidenav-tree .back-link{display:block;padding:13px 15px;background:#2b3e50;color:#bdc3c7;font-size:14px;line-height:14px;text-transform:uppercase} +body.has-sidenav-tree .sidenav-tree .back-link i{display:inline-block;margin-right:10px} +body.has-sidenav-tree .sidenav-tree .back-link:hover{text-decoration:none} +body.has-sidenav-tree #layout-body{display:block !important} +} +div.panel{padding:20px; } +div.panel.no-padding{padding:0} +div.panel.no-padding-bottom{padding-bottom:0} +div.panel.padding-top{padding-top:20px} +div.panel.padding-less{padding:15px} +div.panel.transparent{background:transparent} +div.panel.border-left{border-left:1px solid #e8eaeb} +div.panel.border-right{border-right:1px solid #e8eaeb} +div.panel.border-bottom{border-bottom:1px solid #e8eaeb} +div.panel.border-top{border-top:1px solid #e8eaeb} +div.panel.triangle-down{position:relative} +div.panel.triangle-down:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #ffffff;border-bottom-width:0;position:absolute;left:15px;bottom:-8px;z-index:101} +div.panel.triangle-down:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #e8eaeb;border-bottom-width:0;position:absolute;left:14px;bottom:-9px;z-index:100} +div.panel h3.section,div.panel > label{text-transform:uppercase;color:#95a5a6;font-size:13px;font-weight:600;margin:0 0 15px 0} +div.panel > label{margin-bottom:5px} +.nav.selector-group{font-size:13px;letter-spacing:0.01em;margin-bottom:20px} +.nav.selector-group li a{padding:7px 20px 7px 23px;color:#95a5a6} +.nav.selector-group li.active{border-left:3px solid #e6802b;padding-left:0} +.nav.selector-group li.active a{padding-left:20px;color:#2b3e50} +.nav.selector-group li i[class^="icon-"]{font-size:17px;margin-right:6px;position:relative;top:1px} +div.panel .nav.selector-group{margin:0 -20px 20px -20px} +ul.tree-path{list-style:none;padding:0;margin-bottom:0} +ul.tree-path li{display:inline-block;margin-right:1px;font-size:13px} +ul.tree-path li:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105";display:inline-block;font-size:13px;margin-left:5px;position:relative;top:1px;color:#95a5a6} +ul.tree-path li:last-child a{cursor:default} +ul.tree-path li:last-child:after{display:none} +ul.tree-path li.go-up{font-size:12px;margin-right:7px} +ul.tree-path li.go-up a{color:#95a5a6} +ul.tree-path li.go-up a:hover{color:#0181b9} +ul.tree-path li.go-up:after{display:none} +ul.tree-path li.root a{font-weight:600;color:#405261} +ul.tree-path li a{color:#95a5a6} +ul.tree-path li a:hover{text-decoration:none} +table.name-value-list{border-collapse:collapse;font-size:13px} +table.name-value-list th,table.name-value-list td{padding:4px 0 4px 0;vertical-align:top} +table.name-value-list tr:first-child th,table.name-value-list tr:first-child td{padding-top:0} +table.name-value-list th{font-weight:600;color:#95a5a6;padding-right:15px;text-transform:uppercase} +table.name-value-list td{color:#2b3e50;word-wrap:break-word} +.scrollpad-scrollbar-size-tester{width:50px;height:50px;overflow-y:scroll;position:absolute;top:-200px;left:-200px} +.scrollpad-scrollbar-size-tester div{height:100px} +.scrollpad-scrollbar-size-tester::-webkit-scrollbar{width:0;height:0} +div.control-scrollpad{position:relative;width:100%;height:100%;overflow:hidden} +div.control-scrollpad > div{overflow:hidden;overflow-y:scroll;height:100%} +div.control-scrollpad > div::-webkit-scrollbar{width:0;height:0} +div.control-scrollpad[data-direction=horizontal] > div{overflow-x:scroll;overflow-y:hidden;width:100%} +div.control-scrollpad[data-direction=horizontal] > div::-webkit-scrollbar{width:auto;height:0} +div.control-scrollpad > .scrollpad-scrollbar{z-index:199;position:absolute;top:0;right:0;bottom:0;width:11px;background-color:transparent;opacity:0;overflow:hidden;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} +div.control-scrollpad > .scrollpad-scrollbar .drag-handle{position:absolute;right:2px;min-height:10px;width:7px;background-color:#aaaaaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} +div.control-scrollpad > .scrollpad-scrollbar:hover{opacity:0.7;-webkit-transition:opacity 0 linear;transition:opacity 0 linear} +div.control-scrollpad > .scrollpad-scrollbar[data-visible]{opacity:0.7} +div.control-scrollpad > .scrollpad-scrollbar[data-hidden]{display:none} +div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar{top:auto;left:0;width:auto;height:11px} +div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar .drag-handle{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} + html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} +body{margin:0} +article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} +audio,canvas,progress,video{display:inline-block;vertical-align:baseline} +audio:not([controls]){display:none;height:0} +[hidden],template{display:none} +a{background:transparent} +a:active,a:hover{outline:0} +abbr[title]{border-bottom:1px dotted} +b,strong{font-weight:bold} +dfn{font-style:italic} +h1{font-size:2em;margin:0.67em 0} +mark{background:#ff0;color:#000} +small{font-size:80%} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sup{top:-0.5em} +sub{bottom:-0.25em} +img{border:0} +svg:not(:root){overflow:hidden} +figure{margin:1em 40px} +hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} +pre{overflow:auto} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em} +button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0} +button{overflow:visible} +button,select{text-transform:none} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} +button[disabled],html input[disabled]{cursor:default} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} +input{line-height:normal} +input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} +input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto} +input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} +input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em} +legend{border:0;padding:0} +textarea{overflow:auto} +optgroup{font-weight:bold} +table{border-collapse:collapse;border-spacing:0} +td,th{padding:0} +*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)} +body{font-family:'Open Sans',Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333333;background-color:#f9f9f9} +input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit} +button,input,select[multiple],textarea{background-image:none} +a{color:#1795f1;text-decoration:none} +a:hover,a:focus{color:#063f68;text-decoration:underline} +a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px} +img{vertical-align:middle} +.img-responsive{display:block;max-width:100%;height:auto} +.img-rounded{border-radius:6px} +.img-circle{border-radius:50%} +hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee} +.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0} +@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important} +a,a:visited{text-decoration:underline} +a[href]:after{content:" (" attr(href) ")"} +abbr[title]:after{content:" (" attr(title) ")"} +a[href^="javascript:"]:after,a[href^="#"]:after{content:""} +pre,blockquote{border:1px solid #999;page-break-inside:avoid} +thead{display:table-header-group} +tr,img{page-break-inside:avoid} +img{max-width:100% !important} +p,h2,h3{orphans:3;widows:3} +h2,h3{page-break-after:avoid} +select{background:#fff !important} +.navbar{display:none} +.table td,.table th{background-color:#fff !important} +.btn > .caret,.dropup > .btn > .caret{border-top-color:#000 !important} +.label{border:1px solid #000} +.table{border-collapse:collapse !important} +.table-bordered th,.table-bordered td{border:1px solid #ddd !important} +} +.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px} +@media (min-width:768px){.container{width:750px} +} +@media (min-width:992px){.container{width:970px} +} +@media (min-width:1200px){.container{width:1170px} +} +.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px} +.row{margin-left:-15px;margin-right:-15px} +.row-compact [class*="col-"]{padding-left:0 !important;padding-right:0 !important} +.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px} +.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left} +.col-xs-12{width:100%} +.col-xs-11{width:91.66666667%} +.col-xs-10{width:83.33333333%} +.col-xs-9{width:75%} +.col-xs-8{width:66.66666667%} +.col-xs-7{width:58.33333333%} +.col-xs-6{width:50%} +.col-xs-5{width:41.66666667%} +.col-xs-4{width:33.33333333%} +.col-xs-3{width:25%} +.col-xs-2{width:16.66666667%} +.col-xs-1{width:8.33333333%} +.col-xs-pull-12{right:100%} +.col-xs-pull-11{right:91.66666667%} +.col-xs-pull-10{right:83.33333333%} +.col-xs-pull-9{right:75%} +.col-xs-pull-8{right:66.66666667%} +.col-xs-pull-7{right:58.33333333%} +.col-xs-pull-6{right:50%} +.col-xs-pull-5{right:41.66666667%} +.col-xs-pull-4{right:33.33333333%} +.col-xs-pull-3{right:25%} +.col-xs-pull-2{right:16.66666667%} +.col-xs-pull-1{right:8.33333333%} +.col-xs-pull-0{right:0%} +.col-xs-push-12{left:100%} +.col-xs-push-11{left:91.66666667%} +.col-xs-push-10{left:83.33333333%} +.col-xs-push-9{left:75%} +.col-xs-push-8{left:66.66666667%} +.col-xs-push-7{left:58.33333333%} +.col-xs-push-6{left:50%} +.col-xs-push-5{left:41.66666667%} +.col-xs-push-4{left:33.33333333%} +.col-xs-push-3{left:25%} +.col-xs-push-2{left:16.66666667%} +.col-xs-push-1{left:8.33333333%} +.col-xs-push-0{left:0%} +.col-xs-offset-12{margin-left:100%} +.col-xs-offset-11{margin-left:91.66666667%} +.col-xs-offset-10{margin-left:83.33333333%} +.col-xs-offset-9{margin-left:75%} +.col-xs-offset-8{margin-left:66.66666667%} +.col-xs-offset-7{margin-left:58.33333333%} +.col-xs-offset-6{margin-left:50%} +.col-xs-offset-5{margin-left:41.66666667%} +.col-xs-offset-4{margin-left:33.33333333%} +.col-xs-offset-3{margin-left:25%} +.col-xs-offset-2{margin-left:16.66666667%} +.col-xs-offset-1{margin-left:8.33333333%} +.col-xs-offset-0{margin-left:0%} +@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left} +.col-sm-12{width:100%} +.col-sm-11{width:91.66666667%} +.col-sm-10{width:83.33333333%} +.col-sm-9{width:75%} +.col-sm-8{width:66.66666667%} +.col-sm-7{width:58.33333333%} +.col-sm-6{width:50%} +.col-sm-5{width:41.66666667%} +.col-sm-4{width:33.33333333%} +.col-sm-3{width:25%} +.col-sm-2{width:16.66666667%} +.col-sm-1{width:8.33333333%} +.col-sm-pull-12{right:100%} +.col-sm-pull-11{right:91.66666667%} +.col-sm-pull-10{right:83.33333333%} +.col-sm-pull-9{right:75%} +.col-sm-pull-8{right:66.66666667%} +.col-sm-pull-7{right:58.33333333%} +.col-sm-pull-6{right:50%} +.col-sm-pull-5{right:41.66666667%} +.col-sm-pull-4{right:33.33333333%} +.col-sm-pull-3{right:25%} +.col-sm-pull-2{right:16.66666667%} +.col-sm-pull-1{right:8.33333333%} +.col-sm-pull-0{right:0%} +.col-sm-push-12{left:100%} +.col-sm-push-11{left:91.66666667%} +.col-sm-push-10{left:83.33333333%} +.col-sm-push-9{left:75%} +.col-sm-push-8{left:66.66666667%} +.col-sm-push-7{left:58.33333333%} +.col-sm-push-6{left:50%} +.col-sm-push-5{left:41.66666667%} +.col-sm-push-4{left:33.33333333%} +.col-sm-push-3{left:25%} +.col-sm-push-2{left:16.66666667%} +.col-sm-push-1{left:8.33333333%} +.col-sm-push-0{left:0%} +.col-sm-offset-12{margin-left:100%} +.col-sm-offset-11{margin-left:91.66666667%} +.col-sm-offset-10{margin-left:83.33333333%} +.col-sm-offset-9{margin-left:75%} +.col-sm-offset-8{margin-left:66.66666667%} +.col-sm-offset-7{margin-left:58.33333333%} +.col-sm-offset-6{margin-left:50%} +.col-sm-offset-5{margin-left:41.66666667%} +.col-sm-offset-4{margin-left:33.33333333%} +.col-sm-offset-3{margin-left:25%} +.col-sm-offset-2{margin-left:16.66666667%} +.col-sm-offset-1{margin-left:8.33333333%} +.col-sm-offset-0{margin-left:0%} +} +@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left} +.col-md-12{width:100%} +.col-md-11{width:91.66666667%} +.col-md-10{width:83.33333333%} +.col-md-9{width:75%} +.col-md-8{width:66.66666667%} +.col-md-7{width:58.33333333%} +.col-md-6{width:50%} +.col-md-5{width:41.66666667%} +.col-md-4{width:33.33333333%} +.col-md-3{width:25%} +.col-md-2{width:16.66666667%} +.col-md-1{width:8.33333333%} +.col-md-pull-12{right:100%} +.col-md-pull-11{right:91.66666667%} +.col-md-pull-10{right:83.33333333%} +.col-md-pull-9{right:75%} +.col-md-pull-8{right:66.66666667%} +.col-md-pull-7{right:58.33333333%} +.col-md-pull-6{right:50%} +.col-md-pull-5{right:41.66666667%} +.col-md-pull-4{right:33.33333333%} +.col-md-pull-3{right:25%} +.col-md-pull-2{right:16.66666667%} +.col-md-pull-1{right:8.33333333%} +.col-md-pull-0{right:0%} +.col-md-push-12{left:100%} +.col-md-push-11{left:91.66666667%} +.col-md-push-10{left:83.33333333%} +.col-md-push-9{left:75%} +.col-md-push-8{left:66.66666667%} +.col-md-push-7{left:58.33333333%} +.col-md-push-6{left:50%} +.col-md-push-5{left:41.66666667%} +.col-md-push-4{left:33.33333333%} +.col-md-push-3{left:25%} +.col-md-push-2{left:16.66666667%} +.col-md-push-1{left:8.33333333%} +.col-md-push-0{left:0%} +.col-md-offset-12{margin-left:100%} +.col-md-offset-11{margin-left:91.66666667%} +.col-md-offset-10{margin-left:83.33333333%} +.col-md-offset-9{margin-left:75%} +.col-md-offset-8{margin-left:66.66666667%} +.col-md-offset-7{margin-left:58.33333333%} +.col-md-offset-6{margin-left:50%} +.col-md-offset-5{margin-left:41.66666667%} +.col-md-offset-4{margin-left:33.33333333%} +.col-md-offset-3{margin-left:25%} +.col-md-offset-2{margin-left:16.66666667%} +.col-md-offset-1{margin-left:8.33333333%} +.col-md-offset-0{margin-left:0%} +} +@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left} +.col-lg-12{width:100%} +.col-lg-11{width:91.66666667%} +.col-lg-10{width:83.33333333%} +.col-lg-9{width:75%} +.col-lg-8{width:66.66666667%} +.col-lg-7{width:58.33333333%} +.col-lg-6{width:50%} +.col-lg-5{width:41.66666667%} +.col-lg-4{width:33.33333333%} +.col-lg-3{width:25%} +.col-lg-2{width:16.66666667%} +.col-lg-1{width:8.33333333%} +.col-lg-pull-12{right:100%} +.col-lg-pull-11{right:91.66666667%} +.col-lg-pull-10{right:83.33333333%} +.col-lg-pull-9{right:75%} +.col-lg-pull-8{right:66.66666667%} +.col-lg-pull-7{right:58.33333333%} +.col-lg-pull-6{right:50%} +.col-lg-pull-5{right:41.66666667%} +.col-lg-pull-4{right:33.33333333%} +.col-lg-pull-3{right:25%} +.col-lg-pull-2{right:16.66666667%} +.col-lg-pull-1{right:8.33333333%} +.col-lg-pull-0{right:0%} +.col-lg-push-12{left:100%} +.col-lg-push-11{left:91.66666667%} +.col-lg-push-10{left:83.33333333%} +.col-lg-push-9{left:75%} +.col-lg-push-8{left:66.66666667%} +.col-lg-push-7{left:58.33333333%} +.col-lg-push-6{left:50%} +.col-lg-push-5{left:41.66666667%} +.col-lg-push-4{left:33.33333333%} +.col-lg-push-3{left:25%} +.col-lg-push-2{left:16.66666667%} +.col-lg-push-1{left:8.33333333%} +.col-lg-push-0{left:0%} +.col-lg-offset-12{margin-left:100%} +.col-lg-offset-11{margin-left:91.66666667%} +.col-lg-offset-10{margin-left:83.33333333%} +.col-lg-offset-9{margin-left:75%} +.col-lg-offset-8{margin-left:66.66666667%} +.col-lg-offset-7{margin-left:58.33333333%} +.col-lg-offset-6{margin-left:50%} +.col-lg-offset-5{margin-left:41.66666667%} +.col-lg-offset-4{margin-left:33.33333333%} +.col-lg-offset-3{margin-left:25%} +.col-lg-offset-2{margin-left:16.66666667%} +.col-lg-offset-1{margin-left:8.33333333%} +.col-lg-offset-0{margin-left:0%} +} +.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical > .btn-group:before,.btn-group-vertical > .btn-group:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.modal-footer:before,.modal-footer:after,.nav:before,.nav:after{content:" ";display:table} +.clearfix:after,.container:after,.container-fluid:after,.row:after,.btn-toolbar:after,.btn-group-vertical > .btn-group:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after{clear:both} +.center-block{display:block;margin-left:auto;margin-right:auto} +.pull-right{float:right !important} +.pull-left{float:left !important} +.hide{display:none !important} +.show{display:block !important} +.invisible{visibility:hidden} +.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} +.hidden{display:none !important;visibility:hidden !important} +.affix{position:fixed} +@-ms-viewport{width:device-width} +.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important} +@media (max-width:767px){.visible-xs{display:block !important} +table.visible-xs{display:table} +tr.visible-xs{display:table-row !important} +th.visible-xs,td.visible-xs{display:table-cell !important} +} +@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important} +table.visible-sm{display:table} +tr.visible-sm{display:table-row !important} +th.visible-sm,td.visible-sm{display:table-cell !important} +} +@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important} +table.visible-md{display:table} +tr.visible-md{display:table-row !important} +th.visible-md,td.visible-md{display:table-cell !important} +} +@media (min-width:1200px){.visible-lg{display:block !important} +table.visible-lg{display:table} +tr.visible-lg{display:table-row !important} +th.visible-lg,td.visible-lg{display:table-cell !important} +} +@media (max-width:767px){.hidden-xs{display:none !important} +} +@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important} +} +@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important} +} +@media (min-width:1200px){.hidden-lg{display:none !important} +} +.visible-print{display:none !important} +@media print{.visible-print{display:block !important} +table.visible-print{display:table} +tr.visible-print{display:table-row !important} +th.visible-print,td.visible-print{display:table-cell !important} +} +@media print{.hidden-print{display:none !important} +} +h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit} +h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999} +h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px} +h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%} +h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px} +h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%} +h1,.h1{font-size:36px} +h2,.h2{font-size:30px} +h3,.h3{font-size:24px} +h4,.h4{font-size:18px} +h5,.h5{font-size:14px} +h6,.h6{font-size:12px} +p{margin:0 0 10px} +.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4} +@media (min-width:768px){.lead{font-size:21px} +} +small,.small{font-size:85%} +cite{font-style:normal} +.text-left{text-align:left} +.text-right{text-align:right} +.text-center{text-align:center} +.text-justify{text-align:justify} +.text-muted{color:#999999} +.text-primary{color:#5fb6f5} +a.text-primary:hover{color:#2fa0f2} +.text-success{color:#3c763d} +a.text-success:hover{color:#2b542c} +.text-info{color:#31708f} +a.text-info:hover{color:#245269} +.text-warning{color:#8a6d3b} +a.text-warning:hover{color:#66512c} +.text-danger{color:#a94442} +a.text-danger:hover{color:#843534} +.bg-primary{color:#fff;background-color:#5fb6f5} +a.bg-primary:hover{background-color:#2fa0f2} +.bg-success{background-color:#dff0d8} +a.bg-success:hover{background-color:#c1e2b3} +.bg-info{background-color:#d9edf7} +a.bg-info:hover{background-color:#afd9ee} +.bg-warning{background-color:#fcf8e3} +a.bg-warning:hover{background-color:#f7ecb5} +.bg-danger{background-color:#f2dede} +a.bg-danger:hover{background-color:#e4b9b9} +.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee} +ul,ol{margin-top:0;margin-bottom:10px} +ul ul,ol ul,ul ol,ol ol{margin-bottom:0} +.list-unstyled{padding-left:0;list-style:none} +.list-inline{padding-left:0;list-style:none;margin-left:-5px} +.list-inline > li{display:inline-block;padding-left:5px;padding-right:5px} +dl{margin-top:0;margin-bottom:20px} +dt,dd{line-height:1.42857143} +dt{font-weight:bold} +dd{margin-left:0} +@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +.dl-horizontal dd{margin-left:180px} +} +abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999} +.initialism{font-size:90%;text-transform:uppercase} +blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee} +blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0} +blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999} +blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'} +.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right} +.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''} +.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'} +blockquote:before,blockquote:after{content:""} +address{margin-bottom:20px;font-style:normal;line-height:1.42857143} +.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:9px 16.5px;font-size:14px;line-height:1.42857143;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px} +.btn:hover,.btn:focus{color:#666666;text-decoration:none} +.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)} +.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none} +.btn-default{color:#666666;background-color:#e3e3e3;border-color:#e3e3e3} +.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#666666;background-color:#cfcfcf;border-color:#c4c4c4} +.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none} +.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e3e3e3;border-color:#e3e3e3} +.btn-default .badge{color:#e3e3e3;background-color:#666666} +.btn-primary{color:#ffffff;background-color:#5fb6f5;border-color:#47abf4} +.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#ffffff;background-color:#39a4f3;border-color:#0f91ee} +.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none} +.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#5fb6f5;border-color:#47abf4} +.btn-primary .badge{color:#5fb6f5;background-color:#ffffff} +.btn-success{color:#ffffff;background-color:#5cb85c;border-color:#4cae4c} +.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#ffffff;background-color:#47a447;border-color:#398439} +.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none} +.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c} +.btn-success .badge{color:#5cb85c;background-color:#ffffff} +.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da} +.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#ffffff;background-color:#39b3d7;border-color:#269abc} +.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none} +.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da} +.btn-info .badge{color:#5bc0de;background-color:#ffffff} +.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#eea236} +.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#ffffff;background-color:#ed9c28;border-color:#d58512} +.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none} +.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236} +.btn-warning .badge{color:#f0ad4e;background-color:#ffffff} +.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a} +.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#ffffff;background-color:#d2322d;border-color:#ac2925} +.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none} +.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a} +.btn-danger .badge{color:#d9534f;background-color:#ffffff} +.btn-link{color:#1795f1;font-weight:normal;cursor:pointer;border-radius:0} +.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none} +.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent} +.btn-link:hover,.btn-link:focus{color:#063f68;text-decoration:underline;background-color:transparent} +.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none} +.btn-lg,.btn-group-lg > .btn{padding:10px 24px;font-size:18px;line-height:1.3333333;border-radius:6px} +.btn-sm,.btn-group-sm > .btn{padding:5px 15px;font-size:12px;line-height:1.5;border-radius:3px} +.btn-xs,.btn-group-xs > .btn{padding:1px 7.5px;font-size:12px;line-height:1.5;border-radius:3px} +.btn-block{display:block;width:100%;padding-left:0;padding-right:0} +.btn-block + .btn-block{margin-top:5px} +input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%} +.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle} +.btn-group > .btn,.btn-group-vertical > .btn{position:relative;float:left} +.btn-group > .btn:hover,.btn-group-vertical > .btn:hover,.btn-group > .btn:focus,.btn-group-vertical > .btn:focus,.btn-group > .btn:active,.btn-group-vertical > .btn:active,.btn-group > .btn.active,.btn-group-vertical > .btn.active{z-index:2} +.btn-group > .btn:focus,.btn-group-vertical > .btn:focus{outline:none} +.btn-group .btn + .btn,.btn-group .btn + .btn-group,.btn-group .btn-group + .btn,.btn-group .btn-group + .btn-group{margin-left:-1px} +.btn-toolbar{margin-left:-5px} +.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left} +.btn-toolbar > .btn,.btn-toolbar > .btn-group,.btn-toolbar > .input-group{margin-left:5px} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0} +.btn-group > .btn:first-child{margin-left:0} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0} +.btn-group > .btn:last-child:not(:first-child),.btn-group > .dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0} +.btn-group > .btn-group{float:left} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn{border-radius:0} +.btn-group > .btn-group:first-child > .btn:last-child,.btn-group > .btn-group:first-child > .dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0} +.btn-group > .btn-group:last-child > .btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0} +.btn-group > .btn + .dropdown-toggle{padding-left:8px;padding-right:8px} +.btn-group > .btn-lg + .dropdown-toggle{padding-left:12px;padding-right:12px} +.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)} +.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none} +.btn .caret{margin-left:0} +.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0} +.dropup .btn-lg .caret{border-width:0 5px 5px} +.btn-group-vertical > .btn,.btn-group-vertical > .btn-group,.btn-group-vertical > .btn-group > .btn{display:block;float:none;width:100%;max-width:100%} +.btn-group-vertical > .btn-group > .btn{float:none} +.btn-group-vertical > .btn + .btn,.btn-group-vertical > .btn + .btn-group,.btn-group-vertical > .btn-group + .btn,.btn-group-vertical > .btn-group + .btn-group{margin-top:-1px;margin-left:0} +.btn-group-vertical > .btn:not(:first-child):not(:last-child){border-radius:0} +.btn-group-vertical > .btn:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0} +.btn-group-vertical > .btn:last-child:not(:first-child){border-bottom-left-radius:2px;border-top-right-radius:0;border-top-left-radius:0} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn{border-radius:0} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child{border-top-right-radius:0;border-top-left-radius:0} +.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate} +.btn-group-justified > .btn,.btn-group-justified > .btn-group{float:none;display:table-cell;width:1%} +.btn-group-justified > .btn-group .btn{width:100%} +[data-toggle="buttons"] > .btn > input[type="radio"],[data-toggle="buttons"] > .btn > input[type="checkbox"]{display:none} +.btn{font-size:13px;border:none;text-align:left;outline:none !important} +.btn[class^="oc-icon-"]:before,.btn[class*=" oc-icon-"]:before{font-size:14px;line-height:14px;position:relative} +.btn[disabled]{background-color:#dbdbdb;color:#aaaaaa} +.btn.active,.btn:active{-webkit-box-shadow:none;box-shadow:none} +.btn-default.on{background-color:#95a5a6;color:#f9f9f9} +.btn-group .btn{border-right:1px solid rgba(0,0,0,0.09);margin-left:0 !important} +.btn-group .btn:last-child,.btn-group .btn.last{border-right:none} +.btn-group .btn.last{border-bottom-right-radius:2px !important;border-top-right-radius:2px !important} +.btn-group > .dropdown{float:left} +.btn-group > .dropdown:not(:last-child,.last) > .btn{border-right:1px solid rgba(0,0,0,0.09);border-bottom-right-radius:0 !important;border-top-right-radius:0 !important} +.btn-group > .dropdown:not(:first-child) > .btn{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important} +.btn-group > .dropdown.last .btn{border-right:none} +.btn.offset-right,.btn-group.offset-right{margin-right:10px} +.btn-icon{display:inline-block;height:36px;font-size:21px;background:transparent;border:none;outline:none} +.btn-icon:before{display:block;color:#bcc3c7} +.btn-icon:hover:before{color:#0181b9} +.btn-icon.danger:hover:before{color:#c63e26} +.btn-icon.pull-right:before{margin-right:0} +.btn-icon.margin-left{margin-left:5px} +.btn-icon.small{font-size:17px;height:17px;line-height:15px} +.btn-icon.larger{font-size:21px;height:21px;line-height:17px} +.btn-text{font-size:13px;padding:9px 0;vertical-align:middle;display:inline-block} +.btn-text a{color:#666666} +.btn-text a:hover{color:#0181b9;text-decoration:none} +.oc-icon-glass:before,.icon-glass:before{content:"\f000"} +.oc-icon-music:before,.icon-music:before{content:"\f001"} +.oc-icon-search:before,.icon-search:before{content:"\f002"} +.oc-icon-envelope-o:before,.icon-envelope-o:before{content:"\f003"} +.oc-icon-heart:before,.icon-heart:before{content:"\f004"} +.oc-icon-star:before,.icon-star:before{content:"\f005"} +.oc-icon-star-o:before,.icon-star-o:before{content:"\f006"} +.oc-icon-user:before,.icon-user:before{content:"\f007"} +.oc-icon-film:before,.icon-film:before{content:"\f008"} +.oc-icon-th-large:before,.icon-th-large:before{content:"\f009"} +.oc-icon-th:before,.icon-th:before{content:"\f00a"} +.oc-icon-th-list:before,.icon-th-list:before{content:"\f00b"} +.oc-icon-check:before,.icon-check:before{content:"\f00c"} +.oc-icon-remove:before,.icon-remove:before,.oc-icon-close:before,.icon-close:before,.oc-icon-times:before,.icon-times:before{content:"\f00d"} +.oc-icon-search-plus:before,.icon-search-plus:before{content:"\f00e"} +.oc-icon-search-minus:before,.icon-search-minus:before{content:"\f010"} +.oc-icon-power-off:before,.icon-power-off:before{content:"\f011"} +.oc-icon-signal:before,.icon-signal:before{content:"\f012"} +.oc-icon-gear:before,.icon-gear:before,.oc-icon-cog:before,.icon-cog:before{content:"\f013"} +.oc-icon-trash-o:before,.icon-trash-o:before{content:"\f014"} +.oc-icon-home:before,.icon-home:before{content:"\f015"} +.oc-icon-file-o:before,.icon-file-o:before{content:"\f016"} +.oc-icon-clock-o:before,.icon-clock-o:before{content:"\f017"} +.oc-icon-road:before,.icon-road:before{content:"\f018"} +.oc-icon-download:before,.icon-download:before{content:"\f019"} +.oc-icon-arrow-circle-o-down:before,.icon-arrow-circle-o-down:before{content:"\f01a"} +.oc-icon-arrow-circle-o-up:before,.icon-arrow-circle-o-up:before{content:"\f01b"} +.oc-icon-inbox:before,.icon-inbox:before{content:"\f01c"} +.oc-icon-play-circle-o:before,.icon-play-circle-o:before{content:"\f01d"} +.oc-icon-rotate-right:before,.icon-rotate-right:before,.oc-icon-repeat:before,.icon-repeat:before{content:"\f01e"} +.oc-icon-refresh:before,.icon-refresh:before{content:"\f021"} +.oc-icon-list-alt:before,.icon-list-alt:before{content:"\f022"} +.oc-icon-lock:before,.icon-lock:before{content:"\f023"} +.oc-icon-flag:before,.icon-flag:before{content:"\f024"} +.oc-icon-headphones:before,.icon-headphones:before{content:"\f025"} +.oc-icon-volume-off:before,.icon-volume-off:before{content:"\f026"} +.oc-icon-volume-down:before,.icon-volume-down:before{content:"\f027"} +.oc-icon-volume-up:before,.icon-volume-up:before{content:"\f028"} +.oc-icon-qrcode:before,.icon-qrcode:before{content:"\f029"} +.oc-icon-barcode:before,.icon-barcode:before{content:"\f02a"} +.oc-icon-tag:before,.icon-tag:before{content:"\f02b"} +.oc-icon-tags:before,.icon-tags:before{content:"\f02c"} +.oc-icon-book:before,.icon-book:before{content:"\f02d"} +.oc-icon-bookmark:before,.icon-bookmark:before{content:"\f02e"} +.oc-icon-print:before,.icon-print:before{content:"\f02f"} +.oc-icon-camera:before,.icon-camera:before{content:"\f030"} +.oc-icon-font:before,.icon-font:before{content:"\f031"} +.oc-icon-bold:before,.icon-bold:before{content:"\f032"} +.oc-icon-italic:before,.icon-italic:before{content:"\f033"} +.oc-icon-text-height:before,.icon-text-height:before{content:"\f034"} +.oc-icon-text-width:before,.icon-text-width:before{content:"\f035"} +.oc-icon-align-left:before,.icon-align-left:before{content:"\f036"} +.oc-icon-align-center:before,.icon-align-center:before{content:"\f037"} +.oc-icon-align-right:before,.icon-align-right:before{content:"\f038"} +.oc-icon-align-justify:before,.icon-align-justify:before{content:"\f039"} +.oc-icon-list:before,.icon-list:before{content:"\f03a"} +.oc-icon-dedent:before,.icon-dedent:before,.oc-icon-outdent:before,.icon-outdent:before{content:"\f03b"} +.oc-icon-indent:before,.icon-indent:before{content:"\f03c"} +.oc-icon-video-camera:before,.icon-video-camera:before{content:"\f03d"} +.oc-icon-photo:before,.icon-photo:before,.oc-icon-image:before,.icon-image:before,.oc-icon-picture-o:before,.icon-picture-o:before{content:"\f03e"} +.oc-icon-pencil:before,.icon-pencil:before{content:"\f040"} +.oc-icon-map-marker:before,.icon-map-marker:before{content:"\f041"} +.oc-icon-adjust:before,.icon-adjust:before{content:"\f042"} +.oc-icon-tint:before,.icon-tint:before{content:"\f043"} +.oc-icon-edit:before,.icon-edit:before,.oc-icon-pencil-square-o:before,.icon-pencil-square-o:before{content:"\f044"} +.oc-icon-share-square-o:before,.icon-share-square-o:before{content:"\f045"} +.oc-icon-check-square-o:before,.icon-check-square-o:before{content:"\f046"} +.oc-icon-arrows:before,.icon-arrows:before{content:"\f047"} +.oc-icon-step-backward:before,.icon-step-backward:before{content:"\f048"} +.oc-icon-fast-backward:before,.icon-fast-backward:before{content:"\f049"} +.oc-icon-backward:before,.icon-backward:before{content:"\f04a"} +.oc-icon-play:before,.icon-play:before{content:"\f04b"} +.oc-icon-pause:before,.icon-pause:before{content:"\f04c"} +.oc-icon-stop:before,.icon-stop:before{content:"\f04d"} +.oc-icon-forward:before,.icon-forward:before{content:"\f04e"} +.oc-icon-fast-forward:before,.icon-fast-forward:before{content:"\f050"} +.oc-icon-step-forward:before,.icon-step-forward:before{content:"\f051"} +.oc-icon-eject:before,.icon-eject:before{content:"\f052"} +.oc-icon-chevron-left:before,.icon-chevron-left:before{content:"\f053"} +.oc-icon-chevron-right:before,.icon-chevron-right:before{content:"\f054"} +.oc-icon-plus-circle:before,.icon-plus-circle:before{content:"\f055"} +.oc-icon-minus-circle:before,.icon-minus-circle:before{content:"\f056"} +.oc-icon-times-circle:before,.icon-times-circle:before{content:"\f057"} +.oc-icon-check-circle:before,.icon-check-circle:before{content:"\f058"} +.oc-icon-question-circle:before,.icon-question-circle:before{content:"\f059"} +.oc-icon-info-circle:before,.icon-info-circle:before{content:"\f05a"} +.oc-icon-crosshairs:before,.icon-crosshairs:before{content:"\f05b"} +.oc-icon-times-circle-o:before,.icon-times-circle-o:before{content:"\f05c"} +.oc-icon-check-circle-o:before,.icon-check-circle-o:before{content:"\f05d"} +.oc-icon-ban:before,.icon-ban:before{content:"\f05e"} +.oc-icon-arrow-left:before,.icon-arrow-left:before{content:"\f060"} +.oc-icon-arrow-right:before,.icon-arrow-right:before{content:"\f061"} +.oc-icon-arrow-up:before,.icon-arrow-up:before{content:"\f062"} +.oc-icon-arrow-down:before,.icon-arrow-down:before{content:"\f063"} +.oc-icon-mail-forward:before,.icon-mail-forward:before,.oc-icon-share:before,.icon-share:before{content:"\f064"} +.oc-icon-expand:before,.icon-expand:before{content:"\f065"} +.oc-icon-compress:before,.icon-compress:before{content:"\f066"} +.oc-icon-plus:before,.icon-plus:before{content:"\f067"} +.oc-icon-minus:before,.icon-minus:before{content:"\f068"} +.oc-icon-asterisk:before,.icon-asterisk:before{content:"\f069"} +.oc-icon-exclamation-circle:before,.icon-exclamation-circle:before{content:"\f06a"} +.oc-icon-gift:before,.icon-gift:before{content:"\f06b"} +.oc-icon-leaf:before,.icon-leaf:before{content:"\f06c"} +.oc-icon-fire:before,.icon-fire:before{content:"\f06d"} +.oc-icon-eye:before,.icon-eye:before{content:"\f06e"} +.oc-icon-eye-slash:before,.icon-eye-slash:before{content:"\f070"} +.oc-icon-warning:before,.icon-warning:before,.oc-icon-exclamation-triangle:before,.icon-exclamation-triangle:before{content:"\f071"} +.oc-icon-plane:before,.icon-plane:before{content:"\f072"} +.oc-icon-calendar:before,.icon-calendar:before{content:"\f073"} +.oc-icon-random:before,.icon-random:before{content:"\f074"} +.oc-icon-comment:before,.icon-comment:before{content:"\f075"} +.oc-icon-magnet:before,.icon-magnet:before{content:"\f076"} +.oc-icon-chevron-up:before,.icon-chevron-up:before{content:"\f077"} +.oc-icon-chevron-down:before,.icon-chevron-down:before{content:"\f078"} +.oc-icon-retweet:before,.icon-retweet:before{content:"\f079"} +.oc-icon-shopping-cart:before,.icon-shopping-cart:before{content:"\f07a"} +.oc-icon-folder:before,.icon-folder:before{content:"\f07b"} +.oc-icon-folder-open:before,.icon-folder-open:before{content:"\f07c"} +.oc-icon-arrows-v:before,.icon-arrows-v:before{content:"\f07d"} +.oc-icon-arrows-h:before,.icon-arrows-h:before{content:"\f07e"} +.oc-icon-bar-chart-o:before,.icon-bar-chart-o:before,.oc-icon-bar-chart:before,.icon-bar-chart:before{content:"\f080"} +.oc-icon-twitter-square:before,.icon-twitter-square:before{content:"\f081"} +.oc-icon-facebook-square:before,.icon-facebook-square:before{content:"\f082"} +.oc-icon-camera-retro:before,.icon-camera-retro:before{content:"\f083"} +.oc-icon-key:before,.icon-key:before{content:"\f084"} +.oc-icon-gears:before,.icon-gears:before,.oc-icon-cogs:before,.icon-cogs:before{content:"\f085"} +.oc-icon-comments:before,.icon-comments:before{content:"\f086"} +.oc-icon-thumbs-o-up:before,.icon-thumbs-o-up:before{content:"\f087"} +.oc-icon-thumbs-o-down:before,.icon-thumbs-o-down:before{content:"\f088"} +.oc-icon-star-half:before,.icon-star-half:before{content:"\f089"} +.oc-icon-heart-o:before,.icon-heart-o:before{content:"\f08a"} +.oc-icon-sign-out:before,.icon-sign-out:before{content:"\f08b"} +.oc-icon-linkedin-square:before,.icon-linkedin-square:before{content:"\f08c"} +.oc-icon-thumb-tack:before,.icon-thumb-tack:before{content:"\f08d"} +.oc-icon-external-link:before,.icon-external-link:before{content:"\f08e"} +.oc-icon-sign-in:before,.icon-sign-in:before{content:"\f090"} +.oc-icon-trophy:before,.icon-trophy:before{content:"\f091"} +.oc-icon-github-square:before,.icon-github-square:before{content:"\f092"} +.oc-icon-upload:before,.icon-upload:before{content:"\f093"} +.oc-icon-lemon-o:before,.icon-lemon-o:before{content:"\f094"} +.oc-icon-phone:before,.icon-phone:before{content:"\f095"} +.oc-icon-square-o:before,.icon-square-o:before{content:"\f096"} +.oc-icon-bookmark-o:before,.icon-bookmark-o:before{content:"\f097"} +.oc-icon-phone-square:before,.icon-phone-square:before{content:"\f098"} +.oc-icon-twitter:before,.icon-twitter:before{content:"\f099"} +.oc-icon-facebook-f:before,.icon-facebook-f:before,.oc-icon-facebook:before,.icon-facebook:before{content:"\f09a"} +.oc-icon-github:before,.icon-github:before{content:"\f09b"} +.oc-icon-unlock:before,.icon-unlock:before{content:"\f09c"} +.oc-icon-credit-card:before,.icon-credit-card:before{content:"\f09d"} +.oc-icon-rss:before,.icon-rss:before{content:"\f09e"} +.oc-icon-hdd-o:before,.icon-hdd-o:before{content:"\f0a0"} +.oc-icon-bullhorn:before,.icon-bullhorn:before{content:"\f0a1"} +.oc-icon-bell:before,.icon-bell:before{content:"\f0f3"} +.oc-icon-certificate:before,.icon-certificate:before{content:"\f0a3"} +.oc-icon-hand-o-right:before,.icon-hand-o-right:before{content:"\f0a4"} +.oc-icon-hand-o-left:before,.icon-hand-o-left:before{content:"\f0a5"} +.oc-icon-hand-o-up:before,.icon-hand-o-up:before{content:"\f0a6"} +.oc-icon-hand-o-down:before,.icon-hand-o-down:before{content:"\f0a7"} +.oc-icon-arrow-circle-left:before,.icon-arrow-circle-left:before{content:"\f0a8"} +.oc-icon-arrow-circle-right:before,.icon-arrow-circle-right:before{content:"\f0a9"} +.oc-icon-arrow-circle-up:before,.icon-arrow-circle-up:before{content:"\f0aa"} +.oc-icon-arrow-circle-down:before,.icon-arrow-circle-down:before{content:"\f0ab"} +.oc-icon-globe:before,.icon-globe:before{content:"\f0ac"} +.oc-icon-wrench:before,.icon-wrench:before{content:"\f0ad"} +.oc-icon-tasks:before,.icon-tasks:before{content:"\f0ae"} +.oc-icon-filter:before,.icon-filter:before{content:"\f0b0"} +.oc-icon-briefcase:before,.icon-briefcase:before{content:"\f0b1"} +.oc-icon-arrows-alt:before,.icon-arrows-alt:before{content:"\f0b2"} +.oc-icon-group:before,.icon-group:before,.oc-icon-users:before,.icon-users:before{content:"\f0c0"} +.oc-icon-chain:before,.icon-chain:before,.oc-icon-link:before,.icon-link:before{content:"\f0c1"} +.oc-icon-cloud:before,.icon-cloud:before{content:"\f0c2"} +.oc-icon-flask:before,.icon-flask:before{content:"\f0c3"} +.oc-icon-cut:before,.icon-cut:before,.oc-icon-scissors:before,.icon-scissors:before{content:"\f0c4"} +.oc-icon-copy:before,.icon-copy:before,.oc-icon-files-o:before,.icon-files-o:before{content:"\f0c5"} +.oc-icon-paperclip:before,.icon-paperclip:before{content:"\f0c6"} +.oc-icon-save:before,.icon-save:before,.oc-icon-floppy-o:before,.icon-floppy-o:before{content:"\f0c7"} +.oc-icon-square:before,.icon-square:before{content:"\f0c8"} +.oc-icon-navicon:before,.icon-navicon:before,.oc-icon-reorder:before,.icon-reorder:before,.oc-icon-bars:before,.icon-bars:before{content:"\f0c9"} +.oc-icon-list-ul:before,.icon-list-ul:before{content:"\f0ca"} +.oc-icon-list-ol:before,.icon-list-ol:before{content:"\f0cb"} +.oc-icon-strikethrough:before,.icon-strikethrough:before{content:"\f0cc"} +.oc-icon-underline:before,.icon-underline:before{content:"\f0cd"} +.oc-icon-table:before,.icon-table:before{content:"\f0ce"} +.oc-icon-magic:before,.icon-magic:before{content:"\f0d0"} +.oc-icon-truck:before,.icon-truck:before{content:"\f0d1"} +.oc-icon-pinterest:before,.icon-pinterest:before{content:"\f0d2"} +.oc-icon-pinterest-square:before,.icon-pinterest-square:before{content:"\f0d3"} +.oc-icon-google-plus-square:before,.icon-google-plus-square:before{content:"\f0d4"} +.oc-icon-google-plus:before,.icon-google-plus:before{content:"\f0d5"} +.oc-icon-money:before,.icon-money:before{content:"\f0d6"} +.oc-icon-caret-down:before,.icon-caret-down:before{content:"\f0d7"} +.oc-icon-caret-up:before,.icon-caret-up:before{content:"\f0d8"} +.oc-icon-caret-left:before,.icon-caret-left:before{content:"\f0d9"} +.oc-icon-caret-right:before,.icon-caret-right:before{content:"\f0da"} +.oc-icon-columns:before,.icon-columns:before{content:"\f0db"} +.oc-icon-unsorted:before,.icon-unsorted:before,.oc-icon-sort:before,.icon-sort:before{content:"\f0dc"} +.oc-icon-sort-down:before,.icon-sort-down:before,.oc-icon-sort-desc:before,.icon-sort-desc:before{content:"\f0dd"} +.oc-icon-sort-up:before,.icon-sort-up:before,.oc-icon-sort-asc:before,.icon-sort-asc:before{content:"\f0de"} +.oc-icon-envelope:before,.icon-envelope:before{content:"\f0e0"} +.oc-icon-linkedin:before,.icon-linkedin:before{content:"\f0e1"} +.oc-icon-rotate-left:before,.icon-rotate-left:before,.oc-icon-undo:before,.icon-undo:before{content:"\f0e2"} +.oc-icon-legal:before,.icon-legal:before,.oc-icon-gavel:before,.icon-gavel:before{content:"\f0e3"} +.oc-icon-dashboard:before,.icon-dashboard:before,.oc-icon-tachometer:before,.icon-tachometer:before{content:"\f0e4"} +.oc-icon-comment-o:before,.icon-comment-o:before{content:"\f0e5"} +.oc-icon-comments-o:before,.icon-comments-o:before{content:"\f0e6"} +.oc-icon-flash:before,.icon-flash:before,.oc-icon-bolt:before,.icon-bolt:before{content:"\f0e7"} +.oc-icon-sitemap:before,.icon-sitemap:before{content:"\f0e8"} +.oc-icon-umbrella:before,.icon-umbrella:before{content:"\f0e9"} +.oc-icon-paste:before,.icon-paste:before,.oc-icon-clipboard:before,.icon-clipboard:before{content:"\f0ea"} +.oc-icon-lightbulb-o:before,.icon-lightbulb-o:before{content:"\f0eb"} +.oc-icon-exchange:before,.icon-exchange:before{content:"\f0ec"} +.oc-icon-cloud-download:before,.icon-cloud-download:before{content:"\f0ed"} +.oc-icon-cloud-upload:before,.icon-cloud-upload:before{content:"\f0ee"} +.oc-icon-user-md:before,.icon-user-md:before{content:"\f0f0"} +.oc-icon-stethoscope:before,.icon-stethoscope:before{content:"\f0f1"} +.oc-icon-suitcase:before,.icon-suitcase:before{content:"\f0f2"} +.oc-icon-bell-o:before,.icon-bell-o:before{content:"\f0a2"} +.oc-icon-coffee:before,.icon-coffee:before{content:"\f0f4"} +.oc-icon-cutlery:before,.icon-cutlery:before{content:"\f0f5"} +.oc-icon-file-text-o:before,.icon-file-text-o:before{content:"\f0f6"} +.oc-icon-building-o:before,.icon-building-o:before{content:"\f0f7"} +.oc-icon-hospital-o:before,.icon-hospital-o:before{content:"\f0f8"} +.oc-icon-ambulance:before,.icon-ambulance:before{content:"\f0f9"} +.oc-icon-medkit:before,.icon-medkit:before{content:"\f0fa"} +.oc-icon-fighter-jet:before,.icon-fighter-jet:before{content:"\f0fb"} +.oc-icon-beer:before,.icon-beer:before{content:"\f0fc"} +.oc-icon-h-square:before,.icon-h-square:before{content:"\f0fd"} +.oc-icon-plus-square:before,.icon-plus-square:before{content:"\f0fe"} +.oc-icon-angle-double-left:before,.icon-angle-double-left:before{content:"\f100"} +.oc-icon-angle-double-right:before,.icon-angle-double-right:before{content:"\f101"} +.oc-icon-angle-double-up:before,.icon-angle-double-up:before{content:"\f102"} +.oc-icon-angle-double-down:before,.icon-angle-double-down:before{content:"\f103"} +.oc-icon-angle-left:before,.icon-angle-left:before{content:"\f104"} +.oc-icon-angle-right:before,.icon-angle-right:before{content:"\f105"} +.oc-icon-angle-up:before,.icon-angle-up:before{content:"\f106"} +.oc-icon-angle-down:before,.icon-angle-down:before{content:"\f107"} +.oc-icon-desktop:before,.icon-desktop:before{content:"\f108"} +.oc-icon-laptop:before,.icon-laptop:before{content:"\f109"} +.oc-icon-tablet:before,.icon-tablet:before{content:"\f10a"} +.oc-icon-mobile-phone:before,.icon-mobile-phone:before,.oc-icon-mobile:before,.icon-mobile:before{content:"\f10b"} +.oc-icon-circle-o:before,.icon-circle-o:before{content:"\f10c"} +.oc-icon-quote-left:before,.icon-quote-left:before{content:"\f10d"} +.oc-icon-quote-right:before,.icon-quote-right:before{content:"\f10e"} +.oc-icon-spinner:before,.icon-spinner:before{content:"\f110"} +.oc-icon-circle:before,.icon-circle:before{content:"\f111"} +.oc-icon-mail-reply:before,.icon-mail-reply:before,.oc-icon-reply:before,.icon-reply:before{content:"\f112"} +.oc-icon-github-alt:before,.icon-github-alt:before{content:"\f113"} +.oc-icon-folder-o:before,.icon-folder-o:before{content:"\f114"} +.oc-icon-folder-open-o:before,.icon-folder-open-o:before{content:"\f115"} +.oc-icon-smile-o:before,.icon-smile-o:before{content:"\f118"} +.oc-icon-frown-o:before,.icon-frown-o:before{content:"\f119"} +.oc-icon-meh-o:before,.icon-meh-o:before{content:"\f11a"} +.oc-icon-gamepad:before,.icon-gamepad:before{content:"\f11b"} +.oc-icon-keyboard-o:before,.icon-keyboard-o:before{content:"\f11c"} +.oc-icon-flag-o:before,.icon-flag-o:before{content:"\f11d"} +.oc-icon-flag-checkered:before,.icon-flag-checkered:before{content:"\f11e"} +.oc-icon-terminal:before,.icon-terminal:before{content:"\f120"} +.oc-icon-code:before,.icon-code:before{content:"\f121"} +.oc-icon-mail-reply-all:before,.icon-mail-reply-all:before,.oc-icon-reply-all:before,.icon-reply-all:before{content:"\f122"} +.oc-icon-star-half-empty:before,.icon-star-half-empty:before,.oc-icon-star-half-full:before,.icon-star-half-full:before,.oc-icon-star-half-o:before,.icon-star-half-o:before{content:"\f123"} +.oc-icon-location-arrow:before,.icon-location-arrow:before{content:"\f124"} +.oc-icon-crop:before,.icon-crop:before{content:"\f125"} +.oc-icon-code-fork:before,.icon-code-fork:before{content:"\f126"} +.oc-icon-unlink:before,.icon-unlink:before,.oc-icon-chain-broken:before,.icon-chain-broken:before{content:"\f127"} +.oc-icon-question:before,.icon-question:before{content:"\f128"} +.oc-icon-info:before,.icon-info:before{content:"\f129"} +.oc-icon-exclamation:before,.icon-exclamation:before{content:"\f12a"} +.oc-icon-superscript:before,.icon-superscript:before{content:"\f12b"} +.oc-icon-subscript:before,.icon-subscript:before{content:"\f12c"} +.oc-icon-eraser:before,.icon-eraser:before{content:"\f12d"} +.oc-icon-puzzle-piece:before,.icon-puzzle-piece:before{content:"\f12e"} +.oc-icon-microphone:before,.icon-microphone:before{content:"\f130"} +.oc-icon-microphone-slash:before,.icon-microphone-slash:before{content:"\f131"} +.oc-icon-shield:before,.icon-shield:before{content:"\f132"} +.oc-icon-calendar-o:before,.icon-calendar-o:before{content:"\f133"} +.oc-icon-fire-extinguisher:before,.icon-fire-extinguisher:before{content:"\f134"} +.oc-icon-rocket:before,.icon-rocket:before{content:"\f135"} +.oc-icon-maxcdn:before,.icon-maxcdn:before{content:"\f136"} +.oc-icon-chevron-circle-left:before,.icon-chevron-circle-left:before{content:"\f137"} +.oc-icon-chevron-circle-right:before,.icon-chevron-circle-right:before{content:"\f138"} +.oc-icon-chevron-circle-up:before,.icon-chevron-circle-up:before{content:"\f139"} +.oc-icon-chevron-circle-down:before,.icon-chevron-circle-down:before{content:"\f13a"} +.oc-icon-html5:before,.icon-html5:before{content:"\f13b"} +.oc-icon-css3:before,.icon-css3:before{content:"\f13c"} +.oc-icon-anchor:before,.icon-anchor:before{content:"\f13d"} +.oc-icon-unlock-alt:before,.icon-unlock-alt:before{content:"\f13e"} +.oc-icon-bullseye:before,.icon-bullseye:before{content:"\f140"} +.oc-icon-ellipsis-h:before,.icon-ellipsis-h:before{content:"\f141"} +.oc-icon-ellipsis-v:before,.icon-ellipsis-v:before{content:"\f142"} +.oc-icon-rss-square:before,.icon-rss-square:before{content:"\f143"} +.oc-icon-play-circle:before,.icon-play-circle:before{content:"\f144"} +.oc-icon-ticket:before,.icon-ticket:before{content:"\f145"} +.oc-icon-minus-square:before,.icon-minus-square:before{content:"\f146"} +.oc-icon-minus-square-o:before,.icon-minus-square-o:before{content:"\f147"} +.oc-icon-level-up:before,.icon-level-up:before{content:"\f148"} +.oc-icon-level-down:before,.icon-level-down:before{content:"\f149"} +.oc-icon-check-square:before,.icon-check-square:before{content:"\f14a"} +.oc-icon-pencil-square:before,.icon-pencil-square:before{content:"\f14b"} +.oc-icon-external-link-square:before,.icon-external-link-square:before{content:"\f14c"} +.oc-icon-share-square:before,.icon-share-square:before{content:"\f14d"} +.oc-icon-compass:before,.icon-compass:before{content:"\f14e"} +.oc-icon-toggle-down:before,.icon-toggle-down:before,.oc-icon-caret-square-o-down:before,.icon-caret-square-o-down:before{content:"\f150"} +.oc-icon-toggle-up:before,.icon-toggle-up:before,.oc-icon-caret-square-o-up:before,.icon-caret-square-o-up:before{content:"\f151"} +.oc-icon-toggle-right:before,.icon-toggle-right:before,.oc-icon-caret-square-o-right:before,.icon-caret-square-o-right:before{content:"\f152"} +.oc-icon-euro:before,.icon-euro:before,.oc-icon-eur:before,.icon-eur:before{content:"\f153"} +.oc-icon-gbp:before,.icon-gbp:before{content:"\f154"} +.oc-icon-dollar:before,.icon-dollar:before,.oc-icon-usd:before,.icon-usd:before{content:"\f155"} +.oc-icon-rupee:before,.icon-rupee:before,.oc-icon-inr:before,.icon-inr:before{content:"\f156"} +.oc-icon-cny:before,.icon-cny:before,.oc-icon-rmb:before,.icon-rmb:before,.oc-icon-yen:before,.icon-yen:before,.oc-icon-jpy:before,.icon-jpy:before{content:"\f157"} +.oc-icon-ruble:before,.icon-ruble:before,.oc-icon-rouble:before,.icon-rouble:before,.oc-icon-rub:before,.icon-rub:before{content:"\f158"} +.oc-icon-won:before,.icon-won:before,.oc-icon-krw:before,.icon-krw:before{content:"\f159"} +.oc-icon-bitcoin:before,.icon-bitcoin:before,.oc-icon-btc:before,.icon-btc:before{content:"\f15a"} +.oc-icon-file:before,.icon-file:before{content:"\f15b"} +.oc-icon-file-text:before,.icon-file-text:before{content:"\f15c"} +.oc-icon-sort-alpha-asc:before,.icon-sort-alpha-asc:before{content:"\f15d"} +.oc-icon-sort-alpha-desc:before,.icon-sort-alpha-desc:before{content:"\f15e"} +.oc-icon-sort-amount-asc:before,.icon-sort-amount-asc:before{content:"\f160"} +.oc-icon-sort-amount-desc:before,.icon-sort-amount-desc:before{content:"\f161"} +.oc-icon-sort-numeric-asc:before,.icon-sort-numeric-asc:before{content:"\f162"} +.oc-icon-sort-numeric-desc:before,.icon-sort-numeric-desc:before{content:"\f163"} +.oc-icon-thumbs-up:before,.icon-thumbs-up:before{content:"\f164"} +.oc-icon-thumbs-down:before,.icon-thumbs-down:before{content:"\f165"} +.oc-icon-youtube-square:before,.icon-youtube-square:before{content:"\f166"} +.oc-icon-youtube:before,.icon-youtube:before{content:"\f167"} +.oc-icon-xing:before,.icon-xing:before{content:"\f168"} +.oc-icon-xing-square:before,.icon-xing-square:before{content:"\f169"} +.oc-icon-youtube-play:before,.icon-youtube-play:before{content:"\f16a"} +.oc-icon-dropbox:before,.icon-dropbox:before{content:"\f16b"} +.oc-icon-stack-overflow:before,.icon-stack-overflow:before{content:"\f16c"} +.oc-icon-instagram:before,.icon-instagram:before{content:"\f16d"} +.oc-icon-flickr:before,.icon-flickr:before{content:"\f16e"} +.oc-icon-adn:before,.icon-adn:before{content:"\f170"} +.oc-icon-bitbucket:before,.icon-bitbucket:before{content:"\f171"} +.oc-icon-bitbucket-square:before,.icon-bitbucket-square:before{content:"\f172"} +.oc-icon-tumblr:before,.icon-tumblr:before{content:"\f173"} +.oc-icon-tumblr-square:before,.icon-tumblr-square:before{content:"\f174"} +.oc-icon-long-arrow-down:before,.icon-long-arrow-down:before{content:"\f175"} +.oc-icon-long-arrow-up:before,.icon-long-arrow-up:before{content:"\f176"} +.oc-icon-long-arrow-left:before,.icon-long-arrow-left:before{content:"\f177"} +.oc-icon-long-arrow-right:before,.icon-long-arrow-right:before{content:"\f178"} +.oc-icon-apple:before,.icon-apple:before{content:"\f179"} +.oc-icon-windows:before,.icon-windows:before{content:"\f17a"} +.oc-icon-android:before,.icon-android:before{content:"\f17b"} +.oc-icon-linux:before,.icon-linux:before{content:"\f17c"} +.oc-icon-dribbble:before,.icon-dribbble:before{content:"\f17d"} +.oc-icon-skype:before,.icon-skype:before{content:"\f17e"} +.oc-icon-foursquare:before,.icon-foursquare:before{content:"\f180"} +.oc-icon-trello:before,.icon-trello:before{content:"\f181"} +.oc-icon-female:before,.icon-female:before{content:"\f182"} +.oc-icon-male:before,.icon-male:before{content:"\f183"} +.oc-icon-gittip:before,.icon-gittip:before,.oc-icon-gratipay:before,.icon-gratipay:before{content:"\f184"} +.oc-icon-sun-o:before,.icon-sun-o:before{content:"\f185"} +.oc-icon-moon-o:before,.icon-moon-o:before{content:"\f186"} +.oc-icon-archive:before,.icon-archive:before{content:"\f187"} +.oc-icon-bug:before,.icon-bug:before{content:"\f188"} +.oc-icon-vk:before,.icon-vk:before{content:"\f189"} +.oc-icon-weibo:before,.icon-weibo:before{content:"\f18a"} +.oc-icon-renren:before,.icon-renren:before{content:"\f18b"} +.oc-icon-pagelines:before,.icon-pagelines:before{content:"\f18c"} +.oc-icon-stack-exchange:before,.icon-stack-exchange:before{content:"\f18d"} +.oc-icon-arrow-circle-o-right:before,.icon-arrow-circle-o-right:before{content:"\f18e"} +.oc-icon-arrow-circle-o-left:before,.icon-arrow-circle-o-left:before{content:"\f190"} +.oc-icon-toggle-left:before,.icon-toggle-left:before,.oc-icon-caret-square-o-left:before,.icon-caret-square-o-left:before{content:"\f191"} +.oc-icon-dot-circle-o:before,.icon-dot-circle-o:before{content:"\f192"} +.oc-icon-wheelchair:before,.icon-wheelchair:before{content:"\f193"} +.oc-icon-vimeo-square:before,.icon-vimeo-square:before{content:"\f194"} +.oc-icon-turkish-lira:before,.icon-turkish-lira:before,.oc-icon-try:before,.icon-try:before{content:"\f195"} +.oc-icon-plus-square-o:before,.icon-plus-square-o:before{content:"\f196"} +.oc-icon-space-shuttle:before,.icon-space-shuttle:before{content:"\f197"} +.oc-icon-slack:before,.icon-slack:before{content:"\f198"} +.oc-icon-envelope-square:before,.icon-envelope-square:before{content:"\f199"} +.oc-icon-wordpress:before,.icon-wordpress:before{content:"\f19a"} +.oc-icon-openid:before,.icon-openid:before{content:"\f19b"} +.oc-icon-institution:before,.icon-institution:before,.oc-icon-bank:before,.icon-bank:before,.oc-icon-university:before,.icon-university:before{content:"\f19c"} +.oc-icon-mortar-board:before,.icon-mortar-board:before,.oc-icon-graduation-cap:before,.icon-graduation-cap:before{content:"\f19d"} +.oc-icon-yahoo:before,.icon-yahoo:before{content:"\f19e"} +.oc-icon-google:before,.icon-google:before{content:"\f1a0"} +.oc-icon-reddit:before,.icon-reddit:before{content:"\f1a1"} +.oc-icon-reddit-square:before,.icon-reddit-square:before{content:"\f1a2"} +.oc-icon-stumbleupon-circle:before,.icon-stumbleupon-circle:before{content:"\f1a3"} +.oc-icon-stumbleupon:before,.icon-stumbleupon:before{content:"\f1a4"} +.oc-icon-delicious:before,.icon-delicious:before{content:"\f1a5"} +.oc-icon-digg:before,.icon-digg:before{content:"\f1a6"} +.oc-icon-pied-piper:before,.icon-pied-piper:before{content:"\f1a7"} +.oc-icon-pied-piper-alt:before,.icon-pied-piper-alt:before{content:"\f1a8"} +.oc-icon-drupal:before,.icon-drupal:before{content:"\f1a9"} +.oc-icon-joomla:before,.icon-joomla:before{content:"\f1aa"} +.oc-icon-language:before,.icon-language:before{content:"\f1ab"} +.oc-icon-fax:before,.icon-fax:before{content:"\f1ac"} +.oc-icon-building:before,.icon-building:before{content:"\f1ad"} +.oc-icon-child:before,.icon-child:before{content:"\f1ae"} +.oc-icon-paw:before,.icon-paw:before{content:"\f1b0"} +.oc-icon-spoon:before,.icon-spoon:before{content:"\f1b1"} +.oc-icon-cube:before,.icon-cube:before{content:"\f1b2"} +.oc-icon-cubes:before,.icon-cubes:before{content:"\f1b3"} +.oc-icon-behance:before,.icon-behance:before{content:"\f1b4"} +.oc-icon-behance-square:before,.icon-behance-square:before{content:"\f1b5"} +.oc-icon-steam:before,.icon-steam:before{content:"\f1b6"} +.oc-icon-steam-square:before,.icon-steam-square:before{content:"\f1b7"} +.oc-icon-recycle:before,.icon-recycle:before{content:"\f1b8"} +.oc-icon-automobile:before,.icon-automobile:before,.oc-icon-car:before,.icon-car:before{content:"\f1b9"} +.oc-icon-cab:before,.icon-cab:before,.oc-icon-taxi:before,.icon-taxi:before{content:"\f1ba"} +.oc-icon-tree:before,.icon-tree:before{content:"\f1bb"} +.oc-icon-spotify:before,.icon-spotify:before{content:"\f1bc"} +.oc-icon-deviantart:before,.icon-deviantart:before{content:"\f1bd"} +.oc-icon-soundcloud:before,.icon-soundcloud:before{content:"\f1be"} +.oc-icon-database:before,.icon-database:before{content:"\f1c0"} +.oc-icon-file-pdf-o:before,.icon-file-pdf-o:before{content:"\f1c1"} +.oc-icon-file-word-o:before,.icon-file-word-o:before{content:"\f1c2"} +.oc-icon-file-excel-o:before,.icon-file-excel-o:before{content:"\f1c3"} +.oc-icon-file-powerpoint-o:before,.icon-file-powerpoint-o:before{content:"\f1c4"} +.oc-icon-file-photo-o:before,.icon-file-photo-o:before,.oc-icon-file-picture-o:before,.icon-file-picture-o:before,.oc-icon-file-image-o:before,.icon-file-image-o:before{content:"\f1c5"} +.oc-icon-file-zip-o:before,.icon-file-zip-o:before,.oc-icon-file-archive-o:before,.icon-file-archive-o:before{content:"\f1c6"} +.oc-icon-file-sound-o:before,.icon-file-sound-o:before,.oc-icon-file-audio-o:before,.icon-file-audio-o:before{content:"\f1c7"} +.oc-icon-file-movie-o:before,.icon-file-movie-o:before,.oc-icon-file-video-o:before,.icon-file-video-o:before{content:"\f1c8"} +.oc-icon-file-code-o:before,.icon-file-code-o:before{content:"\f1c9"} +.oc-icon-vine:before,.icon-vine:before{content:"\f1ca"} +.oc-icon-codepen:before,.icon-codepen:before{content:"\f1cb"} +.oc-icon-jsfiddle:before,.icon-jsfiddle:before{content:"\f1cc"} +.oc-icon-life-bouy:before,.icon-life-bouy:before,.oc-icon-life-buoy:before,.icon-life-buoy:before,.oc-icon-life-saver:before,.icon-life-saver:before,.oc-icon-support:before,.icon-support:before,.oc-icon-life-ring:before,.icon-life-ring:before{content:"\f1cd"} +.oc-icon-circle-o-notch:before,.icon-circle-o-notch:before{content:"\f1ce"} +.oc-icon-ra:before,.icon-ra:before,.oc-icon-rebel:before,.icon-rebel:before{content:"\f1d0"} +.oc-icon-ge:before,.icon-ge:before,.oc-icon-empire:before,.icon-empire:before{content:"\f1d1"} +.oc-icon-git-square:before,.icon-git-square:before{content:"\f1d2"} +.oc-icon-git:before,.icon-git:before{content:"\f1d3"} +.oc-icon-hacker-news:before,.icon-hacker-news:before{content:"\f1d4"} +.oc-icon-tencent-weibo:before,.icon-tencent-weibo:before{content:"\f1d5"} +.oc-icon-qq:before,.icon-qq:before{content:"\f1d6"} +.oc-icon-wechat:before,.icon-wechat:before,.oc-icon-weixin:before,.icon-weixin:before{content:"\f1d7"} +.oc-icon-send:before,.icon-send:before,.oc-icon-paper-plane:before,.icon-paper-plane:before{content:"\f1d8"} +.oc-icon-send-o:before,.icon-send-o:before,.oc-icon-paper-plane-o:before,.icon-paper-plane-o:before{content:"\f1d9"} +.oc-icon-history:before,.icon-history:before{content:"\f1da"} +.oc-icon-genderless:before,.icon-genderless:before,.oc-icon-circle-thin:before,.icon-circle-thin:before{content:"\f1db"} +.oc-icon-header:before,.icon-header:before{content:"\f1dc"} +.oc-icon-paragraph:before,.icon-paragraph:before{content:"\f1dd"} +.oc-icon-sliders:before,.icon-sliders:before{content:"\f1de"} +.oc-icon-share-alt:before,.icon-share-alt:before{content:"\f1e0"} +.oc-icon-share-alt-square:before,.icon-share-alt-square:before{content:"\f1e1"} +.oc-icon-bomb:before,.icon-bomb:before{content:"\f1e2"} +.oc-icon-soccer-ball-o:before,.icon-soccer-ball-o:before,.oc-icon-futbol-o:before,.icon-futbol-o:before{content:"\f1e3"} +.oc-icon-tty:before,.icon-tty:before{content:"\f1e4"} +.oc-icon-binoculars:before,.icon-binoculars:before{content:"\f1e5"} +.oc-icon-plug:before,.icon-plug:before{content:"\f1e6"} +.oc-icon-slideshare:before,.icon-slideshare:before{content:"\f1e7"} +.oc-icon-twitch:before,.icon-twitch:before{content:"\f1e8"} +.oc-icon-yelp:before,.icon-yelp:before{content:"\f1e9"} +.oc-icon-newspaper-o:before,.icon-newspaper-o:before{content:"\f1ea"} +.oc-icon-wifi:before,.icon-wifi:before{content:"\f1eb"} +.oc-icon-calculator:before,.icon-calculator:before{content:"\f1ec"} +.oc-icon-paypal:before,.icon-paypal:before{content:"\f1ed"} +.oc-icon-google-wallet:before,.icon-google-wallet:before{content:"\f1ee"} +.oc-icon-cc-visa:before,.icon-cc-visa:before{content:"\f1f0"} +.oc-icon-cc-mastercard:before,.icon-cc-mastercard:before{content:"\f1f1"} +.oc-icon-cc-discover:before,.icon-cc-discover:before{content:"\f1f2"} +.oc-icon-cc-amex:before,.icon-cc-amex:before{content:"\f1f3"} +.oc-icon-cc-paypal:before,.icon-cc-paypal:before{content:"\f1f4"} +.oc-icon-cc-stripe:before,.icon-cc-stripe:before{content:"\f1f5"} +.oc-icon-bell-slash:before,.icon-bell-slash:before{content:"\f1f6"} +.oc-icon-bell-slash-o:before,.icon-bell-slash-o:before{content:"\f1f7"} +.oc-icon-trash:before,.icon-trash:before{content:"\f1f8"} +.oc-icon-copyright:before,.icon-copyright:before{content:"\f1f9"} +.oc-icon-at:before,.icon-at:before{content:"\f1fa"} +.oc-icon-eyedropper:before,.icon-eyedropper:before{content:"\f1fb"} +.oc-icon-paint-brush:before,.icon-paint-brush:before{content:"\f1fc"} +.oc-icon-birthday-cake:before,.icon-birthday-cake:before{content:"\f1fd"} +.oc-icon-area-chart:before,.icon-area-chart:before{content:"\f1fe"} +.oc-icon-pie-chart:before,.icon-pie-chart:before{content:"\f200"} +.oc-icon-line-chart:before,.icon-line-chart:before{content:"\f201"} +.oc-icon-lastfm:before,.icon-lastfm:before{content:"\f202"} +.oc-icon-lastfm-square:before,.icon-lastfm-square:before{content:"\f203"} +.oc-icon-toggle-off:before,.icon-toggle-off:before{content:"\f204"} +.oc-icon-toggle-on:before,.icon-toggle-on:before{content:"\f205"} +.oc-icon-bicycle:before,.icon-bicycle:before{content:"\f206"} +.oc-icon-bus:before,.icon-bus:before{content:"\f207"} +.oc-icon-ioxhost:before,.icon-ioxhost:before{content:"\f208"} +.oc-icon-angellist:before,.icon-angellist:before{content:"\f209"} +.oc-icon-cc:before,.icon-cc:before{content:"\f20a"} +.oc-icon-shekel:before,.icon-shekel:before,.oc-icon-sheqel:before,.icon-sheqel:before,.oc-icon-ils:before,.icon-ils:before{content:"\f20b"} +.oc-icon-meanpath:before,.icon-meanpath:before{content:"\f20c"} +.oc-icon-buysellads:before,.icon-buysellads:before{content:"\f20d"} +.oc-icon-connectdevelop:before,.icon-connectdevelop:before{content:"\f20e"} +.oc-icon-dashcube:before,.icon-dashcube:before{content:"\f210"} +.oc-icon-forumbee:before,.icon-forumbee:before{content:"\f211"} +.oc-icon-leanpub:before,.icon-leanpub:before{content:"\f212"} +.oc-icon-sellsy:before,.icon-sellsy:before{content:"\f213"} +.oc-icon-shirtsinbulk:before,.icon-shirtsinbulk:before{content:"\f214"} +.oc-icon-simplybuilt:before,.icon-simplybuilt:before{content:"\f215"} +.oc-icon-skyatlas:before,.icon-skyatlas:before{content:"\f216"} +.oc-icon-cart-plus:before,.icon-cart-plus:before{content:"\f217"} +.oc-icon-cart-arrow-down:before,.icon-cart-arrow-down:before{content:"\f218"} +.oc-icon-diamond:before,.icon-diamond:before{content:"\f219"} +.oc-icon-ship:before,.icon-ship:before{content:"\f21a"} +.oc-icon-user-secret:before,.icon-user-secret:before{content:"\f21b"} +.oc-icon-motorcycle:before,.icon-motorcycle:before{content:"\f21c"} +.oc-icon-street-view:before,.icon-street-view:before{content:"\f21d"} +.oc-icon-heartbeat:before,.icon-heartbeat:before{content:"\f21e"} +.oc-icon-venus:before,.icon-venus:before{content:"\f221"} +.oc-icon-mars:before,.icon-mars:before{content:"\f222"} +.oc-icon-mercury:before,.icon-mercury:before{content:"\f223"} +.oc-icon-transgender:before,.icon-transgender:before{content:"\f224"} +.oc-icon-transgender-alt:before,.icon-transgender-alt:before{content:"\f225"} +.oc-icon-venus-double:before,.icon-venus-double:before{content:"\f226"} +.oc-icon-mars-double:before,.icon-mars-double:before{content:"\f227"} +.oc-icon-venus-mars:before,.icon-venus-mars:before{content:"\f228"} +.oc-icon-mars-stroke:before,.icon-mars-stroke:before{content:"\f229"} +.oc-icon-mars-stroke-v:before,.icon-mars-stroke-v:before{content:"\f22a"} +.oc-icon-mars-stroke-h:before,.icon-mars-stroke-h:before{content:"\f22b"} +.oc-icon-neuter:before,.icon-neuter:before{content:"\f22c"} +.oc-icon-facebook-official:before,.icon-facebook-official:before{content:"\f230"} +.oc-icon-pinterest-p:before,.icon-pinterest-p:before{content:"\f231"} +.oc-icon-whatsapp:before,.icon-whatsapp:before{content:"\f232"} +.oc-icon-server:before,.icon-server:before{content:"\f233"} +.oc-icon-user-plus:before,.icon-user-plus:before{content:"\f234"} +.oc-icon-user-times:before,.icon-user-times:before{content:"\f235"} +.oc-icon-hotel:before,.icon-hotel:before,.oc-icon-bed:before,.icon-bed:before{content:"\f236"} +.oc-icon-viacoin:before,.icon-viacoin:before{content:"\f237"} +.oc-icon-train:before,.icon-train:before{content:"\f238"} +.oc-icon-subway:before,.icon-subway:before{content:"\f239"} +.oc-icon-medium:before,.icon-medium:before{content:"\f23a"} +.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)} +.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)} +button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none} +@font-face{font-family:'FontAwesome';src:url('../../../system/assets/ui/font/fontawesome-webfont.eot?v=1.0.0');src:url('../../../system/assets/ui/font/fontawesome-webfont.eot?#iefix&v=1.0.0') format('embedded-opentype'),url('../../../system/assets/ui/font/fontawesome-webfont.woff?v=1.0.0') format('woff'),url('../../../system/assets/ui/font/fontawesome-webfont.ttf?v=1.0.0') format('truetype'),url('../../../system/assets/ui/font/fontawesome-webfont.svg#fontawesomeregular?v=1.0.0') format('svg');font-weight:normal;font-style:normal} +[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0} +[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none} +[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em} +[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em} +[class^="oc-icon-"]:before,[class*=" oc-icon-"]:before{display:inline-block;margin-right:8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;vertical-align:baseline} +[class^="oc-icon-"].empty:before,[class*=" oc-icon-"].empty:before{margin-right:0} +.control-chart{text-align:left} +.control-chart div.canvas{display:inline-block;margin-right:20px;margin-bottom:20px;position:relative} +.control-chart div.canvas span.center{position:absolute;display:block;text-align:center;width:100%;top:50%;margin-top:-21px;font-size:30px;font-weight:100;color:#666666;z-index:10} +.control-chart div.canvas svg{z-index:20} +.control-chart.full-width div.canvas{margin-right:0 !important} +.control-chart ul{display:inline-block;height:inherit;margin:0;padding:0;list-style:none;position:relative;vertical-align:top} +.control-chart ul li{width:120px;white-space:normal;display:block;text-transform:uppercase;color:#666666;font-weight:300;font-size:12px;margin-bottom:10px} +.control-chart ul li span{float:right;font-weight:600} +.control-chart ul li:last-child{margin-bottom:0} +.control-chart div.chart-legend{display:inline-block;vertical-align:top;text-align:left} +.control-chart div.chart-legend table{font-size:12px;color:#666666} +.control-chart div.chart-legend table tr td{padding:0 0 7px 0;vertical-align:top} +.control-chart div.chart-legend table tr td.value{padding-left:10px;font-weight:600} +.control-chart div.chart-legend table tr td i{display:inline-block;width:13px;height:13px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;text-indent:-100000em;margin-right:5px;position:relative;top:2px} +.control-chart div.chart-legend table tr td.indicator{width:20px} +.control-chart div.chart-legend table tr:last-child td{padding-bottom:0} +.control-chart .canvas{margin-right:20px;display:inline-block} +.control-chart.centered{text-align:center} +.control-chart.centered .canvas{margin-right:0;display:block;margin-left:auto;margin-right:auto} +.control-chart.wrap-legend div.chart-legend table tr{display:inline-block;white-space:nowrap;margin-right:20px} +.control-chart.wrap-legend div.chart-legend table tr:last-child td{padding-bottom:7px} +.report-container .wrapped .control-chart{text-align:left} +.report-container .wrapped .control-chart .canvas{margin-right:20px;display:inline-block} +#flotTip,#chart-tooltip{white-space:nowrap;padding:7px 10px;background:#000000;position:absolute;z-index:100;color:#ffffff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;font-size:12px;opacity:0.8;filter:alpha(opacity=80)} +.title-value h4{font-size:12px;text-transform:uppercase;color:#666666;margin:0} +.title-value span.goal-meter-indicator{float:left;height:24px;width:10px;margin-right:5px;position:relative;top:9px;background:#cc3300} +.title-value span.goal-meter-indicator > span{text-indent:-10000em;display:block;position:absolute;width:10px;left:0;bottom:0;background:#95b753;height:0;-webkit-transition:all 0.2s;transition:all 0.2s} +.title-value p{color:#666666;margin:0;font-size:28px;line-height:41px} +.title-value p:before{color:#e5a91a;font-size:22px} +.title-value p.success{color:#95b753} +.title-value p.danger{color:#cc3300} +.title-value p.negative:after,.title-value p.positive:after{font-size:17px;vertical-align:top;position:relative;top:-3px;left:5px} +.title-value p.negative{color:#cc3300} +.title-value p.negative:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f103"} +.title-value p.positive{color:#95b753} +.title-value p.positive:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f102"} +.title-value p.description{color:#999999;font-weight:300;line-height:100%;font-size:13px} +.report-container .title-value{margin-top:-18px} +.report-container .title-value p{font-weight:100;font-size:40px} +.report-container .title-value p.description{font-size:12px;margin-top:9px} +.report-container .title-value p:before{font-size:30px;margin-right:10px} +.report-container .title-value p.negative:after,.report-container .title-value p.positive:after{top:-8px} +.report-container .title-value span.goal-meter-indicator{height:31px;top:4px;width:15px;margin-right:10px} +.report-container .title-value span.goal-meter-indicator span{width:15px} +ul.status-list{margin-bottom:0;padding:0} +ul.status-list li{margin:0 15px 0 0;list-style:none;display:inline-block;font-size:14px;color:#7e8c8d} +ul.status-list li:last-child{margin-right:0} +ul.status-list li a{color:#7e8c8d} +ul.status-list li a:hover{color:#0181b9;text-decoration:none} +ul.status-list li span.status{display:inline-block;padding:1px 5px;color:white;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +ul.status-list li span.status.circle{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;width:12px;height:12px;vertical-align:middle;position:relative;top:-1px} +ul.status-list li span.status.success{background:#5cb85c} +ul.status-list li span.status.primary{background:#5fb6f5} +ul.status-list li span.status.warning{background:#f0ad4e} +ul.status-list li span.status.danger{background:#d9534f} +ul.status-list li span.status.info{background:#5bc0de} +.gecko ul.status-list li span.status.circle{top:-2px} +.report-container ul.status-list{margin-top:-10px} +.callout{font-size:14px;margin-bottom:20px} +.callout.fade{opacity:0;filter:alpha(opacity=0);-webkit-transition:all 0.5s,width 0s;transition:all 0.5s,width 0s;-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)} +.callout.fade.in{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +.callout > .close{margin:15px 15px 0 0} +.callout.callout-danger > .header{background:#f6b5b2} +.callout.callout-danger > .header i{color:#9f5551} +.callout.callout-danger > .content{background:#f8d6d5} +.callout.callout-info > .header{background:#b9dbef} +.callout.callout-info > .header i{color:#597f97} +.callout.callout-info > .content{background:#d8eaf4} +.callout.callout-success > .header{background:#d3e9bf} +.callout.callout-success > .header i{color:#6d915e} +.callout.callout-success > .content{background:#e6f1db} +.callout.callout-warning > .header{background:#f6e7b2} +.callout.callout-warning > .header i{color:#9f8e51} +.callout.callout-warning > .content{background:#f8f0d5} +.callout > .header{padding:20px;padding-bottom:15px;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;color:#2f2d26} +.callout > .header h3{letter-spacing:0;margin:0 0 7px 0;font-size:14px;font-weight:bold} +.callout > .header h3,.callout > .header p{margin-left:35px} +.callout > .header *:last-child{margin-bottom:0} +.callout > .header:last-child{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px} +.callout > .header i{font-size:26px;float:left} +.callout > .content{color:#2f2d26;padding:16px 20px 15px} +.callout > .content h1,.callout > .content h2,.callout > .content h3,.callout > .content h4,.callout > .content h5,.callout > .content h6{color:#2f2d26;text-transform:none;margin:20px 0 5px 0;line-height:150%} +.callout > .content h1{font-size:30px} +.callout > .content h2{font-size:26px} +.callout > .content h3{font-size:24px} +.callout > .content h4{font-size:20px} +.callout > .content h5{font-size:18px} +.callout > .content h6{font-size:16px} +.callout > .content *:last-child{margin-bottom:0} +.callout > .content ul li,.callout > .content ol li{margin-bottom:5px} +.callout > .content .action-panel{padding:10px 0 0 0} +.callout.no-icon > .header h3,.callout.no-icon > .header p{margin-left:0} +.callout.no-subheader > .header i{margin-top:-5px} +.form-group > .callout{margin-bottom:0} +.control-toolbar{font-size:0;padding:0 0 20px 0;position:relative} +.control-toolbar:after,.control-toolbar:before{display:none;position:absolute;top:50%;margin-top:-7px;height:9px;font-size:10px;color:#bbbbbb} +.control-toolbar:before{left:-6px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f104"} +.control-toolbar:after{right:-8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +.control-toolbar.scroll-before:before{display:block} +.control-toolbar.scroll-after:after{display:block} +.control-toolbar.standalone-paddings{padding:20px} +.control-toolbar:before{left:-10px} +.control-toolbar:after{right:-8px} +.control-toolbar .toolbar-item{position:relative;white-space:nowrap;margin-right:20px} +.control-toolbar .toolbar-item.last{margin-right:0} +.control-toolbar .toolbar-item:after,.control-toolbar .toolbar-item:before{display:none;position:absolute;top:50%;margin-top:-7px;height:9px;font-size:10px;color:#bbbbbb} +.control-toolbar .toolbar-item:before{left:-6px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f104"} +.control-toolbar .toolbar-item:after{right:-8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +.control-toolbar .toolbar-item.scroll-before:before{display:block} +.control-toolbar .toolbar-item.scroll-after:after{display:block} +.control-toolbar .toolbar-item:before{left:-10px} +.control-toolbar .toolbar-item.layout-cell{padding-right:20px;margin-right:0} +.control-toolbar .toolbar-item.layout-cell:after{right:6px} +.control-toolbar .toolbar-item.layout-cell:last-child{padding-right:0} +.control-toolbar .toolbar-item .btn,.control-toolbar .toolbar-item .btn-group,.control-toolbar .toolbar-item .dropdown{white-space:nowrap;float:none;display:inline-block;margin-right:10px} +.control-toolbar .toolbar-item .btn:last-child,.control-toolbar .toolbar-item .btn-group:last-child,.control-toolbar .toolbar-item .dropdown:last-child{margin-right:0} +.control-toolbar .toolbar-item .btn.standalone,.control-toolbar .toolbar-item .btn-group.standalone,.control-toolbar .toolbar-item .dropdown.standalone{margin-right:15px} +.control-toolbar .toolbar-item .btn-group > .btn,.control-toolbar .toolbar-item .btn-group > .dropdown{margin-right:0;display:inline-block;float:none} +.control-toolbar .toolbar-item .btn-group .dropdown > .btn{margin-right:0;border-bottom-right-radius:0;border-top-right-radius:0} +.control-toolbar .toolbar-item .btn-group .dropdown.last > .btn{border-bottom-right-radius:2px !important;border-top-right-radius:2px !important} +.control-toolbar input.form-control[type=text]{height:auto;padding:8px 10px} +[data-control=toolbar]{white-space:nowrap;width:100%;overflow:hidden} +#layout-side-panel .control-toolbar{padding:20px 0 20px 20px} +div.scoreboard{position:relative;padding:0} +div.scoreboard:after,div.scoreboard:before{display:none;position:absolute;top:50%;margin-top:-7px;height:9px;font-size:10px;color:#bbbbbb} +div.scoreboard:before{left:-6px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f104"} +div.scoreboard:after{right:-8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +div.scoreboard.scroll-before:before{display:block} +div.scoreboard.scroll-after:after{display:block} +div.scoreboard:before,div.scoreboard:after{margin-top:-10px} +div.scoreboard:before{left:7px} +div.scoreboard:after{right:10px} +div.scoreboard div.scoreboard-item{display:inline-block;margin-right:40px;margin-bottom:20px;vertical-align:top} +div.scoreboard div.scoreboard-item:last-child{margin-right:0} +div.scoreboard .control-chart{height:67px} +div.scoreboard .control-chart ul{margin-left:77px;top:-2px} +div.scoreboard .control-chart ul li{padding-left:18px} +div.scoreboard .control-chart ul li > i{margin-left:-18px} +div.scoreboard .control-chart .canvas + ul{margin-left:0} +div.scoreboard .scoreboard-offset{padding-left:20px} +body.slim-container div.scoreboard{padding:0 20px} +.control-breadcrumb{font-size:12px;text-transform:uppercase;padding:15px 20px;margin:-20px -20px 20px -20px;background-color:#2b343d} +.control-breadcrumb ul{padding:0;margin:0} +.control-breadcrumb li{list-style:none;margin:0;padding:0;display:inline-block;color:#9da3a7;letter-spacing:0.05em} +.control-breadcrumb li a{color:#ecf0f1;text-decoration:none} +.control-breadcrumb li a:hover{color:#ecf0f1} +.control-breadcrumb li:after{font-size:14px;line-height:14px;display:inline-block;margin-left:6px;margin-right:2px;vertical-align:baseline;color:#9da3a7;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +.control-breadcrumb li:last-child:after{content:''} +body.breadcrumb-flush .control-breadcrumb,.control-breadcrumb.breadcrumb-flush{margin-bottom:0} +body.slim-container .control-breadcrumb{margin-left:0;margin-right:0} +body.compact-container .control-breadcrumb{margin-top:0;margin-left:0;margin-right:0} +#layout-canvas .flash-message{display:none} +.flash-message{position:fixed;width:500px;left:50%;top:13px;margin-left:-250px;color:#ffffff;font-size:13px;padding:10px 30px 10px 15px;z-index:10000;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +.flash-message.fade{opacity:0;filter:alpha(opacity=0);-webkit-transition:all 0.5s,width 0s;transition:all 0.5s,width 0s;-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)} +.flash-message.fade.in{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +.flash-message.success{background:#8da85e} +.flash-message.error{background:#cc3300} +.flash-message.warning{background:#f0ad4e} +.flash-message.info{background:#5fb6f5} +.flash-message button{float:none;position:absolute;right:10px;top:8px;color:white} +.flash-message button:hover{color:white} +.flash-message.static{position:static !important;width:auto !important;display:block !important;margin-left:0 !important} +@media (max-width:768px){.flash-message{left:10px;right:10px;top:10px;margin-left:0;width:auto} +} +[class^="flag-"],[class*=" flag-"]{background-image:url("../../../system/assets/ui/images/flag-icons-small.png");width:16px;height:16px;line-height:16px;vertical-align:middle;display:inline-block;margin:-3px 2px 0 2px} +@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="flag-"],[class*=" flag-"]{background-image:url("../../../system/assets/ui/images/flag-icons-large.png");background-size:16px 3952px} +} +.flag-AfricanUnion{background-position:0 -16px} +.flag-ArabLeague{background-position:0 -32px} +.flag-ASEAN{background-position:0 -48px} +.flag-CARICOM{background-position:0 -64px} +.flag-CIS{background-position:0 -80px} +.flag-Commonwealth{background-position:0 -96px} +.flag-England{background-position:0 -112px} +.flag-European_Union{background-position:0 -128px} +.flag-Islamic_Conference{background-position:0 -144px} +.flag-Kosovo{background-position:0 -160px} +.flag-NATO{background-position:0 -176px} +.flag-NorthernCyprus{background-position:0 -192px} +.flag-NorthernIreland{background-position:0 -208px} +.flag-OlimpicMovement{background-position:0 -224px} +.flag-OPEC{background-position:0 -240px} +.flag-RedCross{background-position:0 -256px} +.flag-Scotland{background-position:0 -272px} +.flag-Somaliland{background-position:0 -288px} +.flag-Tibet{background-position:0 -304px} +.flag-United_Nations{background-position:0 -320px} +.flag-Wales{background-position:0 -336px} +.flag-eu{background-position:0 -128px} +.flag-ad{background-position:0 -352px} +.flag-ae{background-position:0 -368px} +.flag-af{background-position:0 -384px} +.flag-ag{background-position:0 -400px} +.flag-ai{background-position:0 -416px} +.flag-al{background-position:0 -432px} +.flag-am{background-position:0 -448px} +.flag-ao{background-position:0 -464px} +.flag-aq{background-position:0 -480px} +.flag-ar{background-position:0 -496px} +.flag-as{background-position:0 -512px} +.flag-at{background-position:0 -528px} +.flag-au{background-position:0 -544px} +.flag-aw{background-position:0 -560px} +.flag-ax{background-position:0 -576px} +.flag-az{background-position:0 -592px} +.flag-ba{background-position:0 -608px} +.flag-bb{background-position:0 -624px} +.flag-bd{background-position:0 -640px} +.flag-be{background-position:0 -656px} +.flag-bf{background-position:0 -672px} +.flag-bg{background-position:0 -688px} +.flag-bh{background-position:0 -704px} +.flag-bi{background-position:0 -720px} +.flag-bj{background-position:0 -736px} +.flag-bm{background-position:0 -752px} +.flag-bn{background-position:0 -768px} +.flag-bo{background-position:0 -784px} +.flag-br{background-position:0 -800px} +.flag-bs{background-position:0 -816px} +.flag-bt{background-position:0 -832px} +.flag-bw{background-position:0 -848px} +.flag-by{background-position:0 -864px} +.flag-bz{background-position:0 -880px} +.flag-ca{background-position:0 -896px} +.flag-cg{background-position:0 -912px} +.flag-cf{background-position:0 -928px} +.flag-cd{background-position:0 -944px} +.flag-ch{background-position:0 -960px} +.flag-ci{background-position:0 -976px} +.flag-ck{background-position:0 -992px} +.flag-cl{background-position:0 -1008px} +.flag-cm{background-position:0 -1024px} +.flag-cn{background-position:0 -1040px} +.flag-co{background-position:0 -1056px} +.flag-cr{background-position:0 -1072px} +.flag-cu{background-position:0 -1088px} +.flag-cv{background-position:0 -1104px} +.flag-cy{background-position:0 -1120px} +.flag-cz{background-position:0 -1136px} +.flag-de{background-position:0 -1152px} +.flag-dj{background-position:0 -1168px} +.flag-dk{background-position:0 -1184px} +.flag-dm{background-position:0 -1200px} +.flag-do{background-position:0 -1216px} +.flag-dz{background-position:0 -1232px} +.flag-ec{background-position:0 -1248px} +.flag-ee{background-position:0 -1264px} +.flag-eg{background-position:0 -1280px} +.flag-eh{background-position:0 -1296px} +.flag-er{background-position:0 -1312px} +.flag-es{background-position:0 -1328px} +.flag-et{background-position:0 -1344px} +.flag-fi{background-position:0 -1360px} +.flag-fj{background-position:0 -1376px} +.flag-fm{background-position:0 -1392px} +.flag-fo{background-position:0 -1408px} +.flag-fr{background-position:0 -1424px} +.flag-bl{background-position:0 -1424px} +.flag-cp{background-position:0 -1424px} +.flag-mf{background-position:0 -1424px} +.flag-yt{background-position:0 -1424px} +.flag-ga{background-position:0 -1440px} +.flag-gb{background-position:0 -1456px} +.flag-sh{background-position:0 -1456px} +.flag-gd{background-position:0 -1472px} +.flag-ge{background-position:0 -1488px} +.flag-gg{background-position:0 -1504px} +.flag-gh{background-position:0 -1520px} +.flag-gi{background-position:0 -1536px} +.flag-gl{background-position:0 -1552px} +.flag-gm{background-position:0 -1568px} +.flag-gn{background-position:0 -1584px} +.flag-gp{background-position:0 -1600px} +.flag-gq{background-position:0 -1616px} +.flag-gr{background-position:0 -1632px} +.flag-gt{background-position:0 -1648px} +.flag-gu{background-position:0 -1664px} +.flag-gw{background-position:0 -1680px} +.flag-gy{background-position:0 -1696px} +.flag-hk{background-position:0 -1712px} +.flag-hn{background-position:0 -1728px} +.flag-hr{background-position:0 -1744px} +.flag-ht{background-position:0 -1760px} +.flag-hu{background-position:0 -1776px} +.flag-id{background-position:0 -1792px} +.flag-mc{background-position:0 -1792px} +.flag-ie{background-position:0 -1808px} +.flag-il{background-position:0 -1824px} +.flag-im{background-position:0 -1840px} +.flag-in{background-position:0 -1856px} +.flag-iq{background-position:0 -1872px} +.flag-ir{background-position:0 -1888px} +.flag-is{background-position:0 -1904px} +.flag-it{background-position:0 -1920px} +.flag-je{background-position:0 -1936px} +.flag-jm{background-position:0 -1952px} +.flag-jo{background-position:0 -1968px} +.flag-jp{background-position:0 -1984px} +.flag-ke{background-position:0 -2000px} +.flag-kg{background-position:0 -2016px} +.flag-kh{background-position:0 -2032px} +.flag-ki{background-position:0 -2048px} +.flag-km{background-position:0 -2064px} +.flag-kn{background-position:0 -2080px} +.flag-kp{background-position:0 -2096px} +.flag-kr{background-position:0 -2112px} +.flag-kw{background-position:0 -2128px} +.flag-ky{background-position:0 -2144px} +.flag-kz{background-position:0 -2160px} +.flag-la{background-position:0 -2176px} +.flag-lb{background-position:0 -2192px} +.flag-lc{background-position:0 -2208px} +.flag-li{background-position:0 -2224px} +.flag-lk{background-position:0 -2240px} +.flag-lr{background-position:0 -2256px} +.flag-ls{background-position:0 -2272px} +.flag-lt{background-position:0 -2288px} +.flag-lu{background-position:0 -2304px} +.flag-lv{background-position:0 -2320px} +.flag-ly{background-position:0 -2336px} +.flag-ma{background-position:0 -2352px} +.flag-md{background-position:0 -2368px} +.flag-me{background-position:0 -2384px} +.flag-mg{background-position:0 -2400px} +.flag-mh{background-position:0 -2416px} +.flag-mk{background-position:0 -2432px} +.flag-ml{background-position:0 -2448px} +.flag-mm{background-position:0 -2464px} +.flag-mn{background-position:0 -2480px} +.flag-mo{background-position:0 -2496px} +.flag-mq{background-position:0 -2512px} +.flag-mr{background-position:0 -2528px} +.flag-ms{background-position:0 -2544px} +.flag-mt{background-position:0 -2560px} +.flag-mu{background-position:0 -2576px} +.flag-mv{background-position:0 -2592px} +.flag-mw{background-position:0 -2608px} +.flag-mx{background-position:0 -2624px} +.flag-my{background-position:0 -2640px} +.flag-mz{background-position:0 -2656px} +.flag-na{background-position:0 -2672px} +.flag-nc{background-position:0 -2688px} +.flag-ne{background-position:0 -2704px} +.flag-ng{background-position:0 -2720px} +.flag-ni{background-position:0 -2736px} +.flag-nl{background-position:0 -2752px} +.flag-bq{background-position:0 -2752px} +.flag-no{background-position:0 -2768px} +.flag-bv{background-position:0 -2768px} +.flag-nq{background-position:0 -2768px} +.flag-sj{background-position:0 -2768px} +.flag-np{background-position:0 -2784px} +.flag-nr{background-position:0 -2800px} +.flag-nz{background-position:0 -2816px} +.flag-om{background-position:0 -2832px} +.flag-pa{background-position:0 -2848px} +.flag-pe{background-position:0 -2864px} +.flag-pf{background-position:0 -2880px} +.flag-pg{background-position:0 -2896px} +.flag-ph{background-position:0 -2912px} +.flag-pk{background-position:0 -2928px} +.flag-pl{background-position:0 -2944px} +.flag-pr{background-position:0 -2960px} +.flag-ps{background-position:0 -2976px} +.flag-pt{background-position:0 -2992px} +.flag-pw{background-position:0 -3008px} +.flag-py{background-position:0 -3024px} +.flag-qa{background-position:0 -3040px} +.flag-re{background-position:0 -3056px} +.flag-ro{background-position:0 -3072px} +.flag-rs{background-position:0 -3088px} +.flag-ru{background-position:0 -3104px} +.flag-rw{background-position:0 -3120px} +.flag-sa{background-position:0 -3136px} +.flag-sb{background-position:0 -3152px} +.flag-sc{background-position:0 -3168px} +.flag-sd{background-position:0 -3184px} +.flag-se{background-position:0 -3200px} +.flag-sg{background-position:0 -3216px} +.flag-si{background-position:0 -3232px} +.flag-sk{background-position:0 -3248px} +.flag-sl{background-position:0 -3264px} +.flag-sm{background-position:0 -3280px} +.flag-sn{background-position:0 -3296px} +.flag-so{background-position:0 -3312px} +.flag-sr{background-position:0 -3328px} +.flag-st{background-position:0 -3344px} +.flag-sv{background-position:0 -3360px} +.flag-sy{background-position:0 -3376px} +.flag-sz{background-position:0 -3392px} +.flag-tc{background-position:0 -3408px} +.flag-td{background-position:0 -3424px} +.flag-tg{background-position:0 -3440px} +.flag-th{background-position:0 -3456px} +.flag-tj{background-position:0 -3472px} +.flag-tl{background-position:0 -3488px} +.flag-tm{background-position:0 -3504px} +.flag-tn{background-position:0 -3520px} +.flag-to{background-position:0 -3536px} +.flag-tr{background-position:0 -3552px} +.flag-tt{background-position:0 -3568px} +.flag-tv{background-position:0 -3584px} +.flag-tw{background-position:0 -3600px} +.flag-tz{background-position:0 -3616px} +.flag-ua{background-position:0 -3632px} +.flag-ug{background-position:0 -3648px} +.flag-us{background-position:0 -3664px} +.flag-uy{background-position:0 -3680px} +.flag-uz{background-position:0 -3696px} +.flag-va{background-position:0 -3712px} +.flag-vc{background-position:0 -3728px} +.flag-ve{background-position:0 -3744px} +.flag-vg{background-position:0 -3760px} +.flag-vi{background-position:0 -3776px} +.flag-vn{background-position:0 -3792px} +.flag-vu{background-position:0 -3808px} +.flag-ws{background-position:0 -3824px} +.flag-ye{background-position:0 -3840px} +.flag-za{background-position:0 -3856px} +.flag-zm{background-position:0 -3872px} +.flag-zw{background-position:0 -3888px} +.flag-sx{background-position:0 -3904px} +.flag-cw{background-position:0 -3920px} +.flag-ss{background-position:0 -3936px} +fieldset{padding:0;margin:0;border:0;min-width:0} +legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5} +label{display:inline-block;margin-bottom:5px;font-weight:600;font-size:12px} +input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9; line-height:normal} +input[type="file"]{display:block} +input[type="range"]{display:block;width:100%} +select[multiple],select[size]{height:auto} +input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px} +output{display:block;padding-top:10px;font-size:14px;line-height:1.42857143;color:#555555} +.form-control{display:block;width:100%;height:40px;padding:9px 11px;font-size:13px;line-height:1.42857143;color:#555555;background-color:#ffffff;background-image:none;border:1px solid #e0e0e0;border-radius:3px;-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s} +.form-control:focus{border-color:#808c8d;outline:0} +.form-control::-moz-placeholder{color:#cccccc;opacity:1} +.form-control:-ms-input-placeholder{color:#cccccc} +.form-control::-webkit-input-placeholder{color:#cccccc} +.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eeeeee;opacity:1} +textarea.form-control{height:auto} +.form-control.align-right{text-align:right} +input[type="search"]{-webkit-appearance:none} +input[type="date"]{line-height:40px} +.form-group{margin-bottom:15px} +.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px} +.radio label,.checkbox label{display:inline;font-weight:normal;cursor:pointer} +.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px} +.radio + .radio,.checkbox + .checkbox{margin-top:-5px} +.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer} +.radio-inline + .radio-inline,.checkbox-inline + .checkbox-inline{margin-top:0;margin-left:10px} +input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed} +.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px} +select.input-sm{height:30px;line-height:30px} +textarea.input-sm,select[multiple].input-sm{height:auto} +.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px} +select.input-lg{height:46px;line-height:46px} +textarea.input-lg,select[multiple].input-lg{height:auto} +.has-feedback{position:relative} +.has-feedback .form-control{padding-right:50px} +.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:40px;height:40px;line-height:40px;text-align:center} +.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d} +.has-success .form-control{border-color:#3c763d} +.has-success .form-control:focus{border-color:#2b542c} +.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8} +.has-success .form-control-feedback{color:#3c763d} +.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b} +.has-warning .form-control{border-color:#8a6d3b} +.has-warning .form-control:focus{border-color:#66512c} +.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3} +.has-warning .form-control-feedback{color:#8a6d3b} +.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442} +.has-error .form-control{border-color:#a94442} +.has-error .form-control:focus{border-color:#843534} +.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede} +.has-error .form-control-feedback{color:#a94442} +.form-control-static{margin-bottom:0} +.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373} +@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} +.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle} +.form-inline .input-group > .form-control{width:100%} +.form-inline .control-label{margin-bottom:0;vertical-align:middle} +.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle} +.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0} +.form-inline .has-feedback .form-control-feedback{top:0} +} +.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:10px} +.form-horizontal .radio,.form-horizontal .checkbox{min-height:30px} +.form-horizontal .form-group{margin-left:-15px;margin-right:-15px} +.form-horizontal .form-control-static{padding-top:10px} +@media (min-width:768px){.form-horizontal .control-label{text-align:right} +} +.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px} +.input-group{position:relative;display:table;border-collapse:separate} +.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0} +.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0} +.input-group-lg > .form-control,.input-group-lg > .input-group-addon,.input-group-lg > .input-group-btn > .btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px} +select.input-group-lg > .form-control,select.input-group-lg > .input-group-addon,select.input-group-lg > .input-group-btn > .btn{height:46px;line-height:46px} +textarea.input-group-lg > .form-control,textarea.input-group-lg > .input-group-addon,textarea.input-group-lg > .input-group-btn > .btn,select[multiple].input-group-lg > .form-control,select[multiple].input-group-lg > .input-group-addon,select[multiple].input-group-lg > .input-group-btn > .btn{height:auto} +.input-group-sm > .form-control,.input-group-sm > .input-group-addon,.input-group-sm > .input-group-btn > .btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px} +select.input-group-sm > .form-control,select.input-group-sm > .input-group-addon,select.input-group-sm > .input-group-btn > .btn{height:30px;line-height:30px} +textarea.input-group-sm > .form-control,textarea.input-group-sm > .input-group-addon,textarea.input-group-sm > .input-group-btn > .btn,select[multiple].input-group-sm > .form-control,select[multiple].input-group-sm > .input-group-addon,select[multiple].input-group-sm > .input-group-btn > .btn{height:auto} +.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell} +.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0} +.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle} +.input-group-addon{padding:9px 11px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #e0e0e0;border-radius:2px} +.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px} +.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px} +.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0} +.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child > .btn,.input-group-btn:first-child > .btn-group > .btn,.input-group-btn:first-child > .dropdown-toggle,.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child > .btn-group:not(:last-child) > .btn{border-bottom-right-radius:0;border-top-right-radius:0} +.input-group-addon:first-child{border-right:0} +.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child > .btn,.input-group-btn:last-child > .btn-group > .btn,.input-group-btn:last-child > .dropdown-toggle,.input-group-btn:first-child > .btn:not(:first-child),.input-group-btn:first-child > .btn-group:not(:first-child) > .btn{border-bottom-left-radius:0;border-top-left-radius:0} +.input-group-addon:last-child{border-left:0} +.input-group-btn{position:relative;font-size:0;white-space:nowrap} +.input-group-btn > .btn{position:relative} +.input-group-btn > .btn + .btn{margin-left:-1px} +.input-group-btn > .btn:hover,.input-group-btn > .btn:focus,.input-group-btn > .btn:active{z-index:2} +.input-group-btn:first-child > .btn,.input-group-btn:first-child > .btn-group{margin-right:-1px} +.input-group-btn:last-child > .btn,.input-group-btn:last-child > .btn-group{margin-left:-1px} +.loading-indicator{padding:20px 20px 20px 60px;color:#999999;font-size:14px;font-weight:500;background:#f9f9f9;text-align:left;z-index:100} +.loading-indicator > span{background:transparent url('../../../system/assets/ui/images/loader.gif') no-repeat 0 50%;position:absolute;width:40px;height:40px;top:50%;margin-top:-20px;left:0;display:block} +.loading-indicator-container{position:relative;min-height:40px} +.loading-indicator-container .loading-indicator{position:absolute;left:0;top:0;width:100%;height:100%;padding-top:0} +.loading-indicator-container .loading-indicator > div{position:absolute;top:50%;margin-top:-0.65em} +html.cssanimations .loading-indicator > span{background-image:url('../../../system/assets/ui/images/loader-transparent.svg');background-size:35px 35px;background-position:50% 50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite} +html.cssanimations .loading-indicator.is-opaque > span,html.cssanimations .loading-indicator-container.is-opaque .loading-indicator > span{background-image:url('../../../system/assets/ui/images/loader.svg')} +.loading-indicator-container.size-small{min-height:20px} +.loading-indicator.size-small,.loading-indicator-container.size-small .loading-indicator{padding:16px 16px 16px 30px;font-size:11px} +.loading-indicator.size-small > span,.loading-indicator-container.size-small .loading-indicator > span{height:20px;width:20px;margin-top:-10px} +html.cssanimations .loading-indicator.size-small > span,html.cssanimations .loading-indicator-container.size-small .loading-indicator > span{background-size:20px 20px} +.loading-indicator.indicator-center,.loading-indicator-container.indicator-center .loading-indicator{padding:20px} +.loading-indicator.indicator-center > span,.loading-indicator-container.indicator-center .loading-indicator > span{left:50%;margin-left:-20px;margin-top:-20px} +.loading-indicator.indicator-center > div,.loading-indicator-container.indicator-center .loading-indicator > div{top:auto;text-align:center;position:relative} +.loading-indicator-container.size-form-field .loading-indicator,.loading-indicator-container.size-input-text .loading-indicator{background-color:transparent;padding:0;margin:0} +.loading-indicator-container.size-form-field .loading-indicator > span,.loading-indicator-container.size-input-text .loading-indicator > span{padding:0;margin:0;left:auto;right:7px;top:6px;width:23px;height:23px;background-size:23px 23px} +.loading-indicator-container.size-form-field .loading-indicator > span{top:0;right:0;width:20px;height:20px;background-size:20px 20px} +html.cssanimations .cursor-loading-indicator{background:transparent url('../../../system/assets/ui/images/loader-transparent.svg') no-repeat 50% 50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background-size:20px 20px;position:fixed;width:20px;height:20px} +html.cssanimations .cursor-loading-indicator.hide{display:none} +.bar-loading-indicator{-webkit-transition:opacity 0.4s linear;transition:opacity 0.4s linear} +.bar-loading-indicator .progress-bar{-webkit-animation:infinite-loader 90s ease-in forwards;animation:infinite-loader 90s ease-in forwards;-webkit-transition-duration:0s;transition-duration:0s} +.bar-loading-indicator.bar-loaded{opacity:0;filter:alpha(opacity=0);-webkit-transition-delay:0.3s;transition-delay:0.3s} +.bar-loading-indicator.bar-loaded .progress-bar{width:100% !important;-webkit-transition:width 0.3s linear;transition:width 0.3s linear;-webkit-animation:none;animation:none} +.stripe-loading-indicator{height:4px;background:transparent;position:fixed;top:0;left:0;width:100%;overflow:hidden;z-index:2000} +.stripe-loading-indicator .stripe,.stripe-loading-indicator .stripe-loaded{height:4px;display:block;background:#0090c0;position:absolute;-webkit-box-shadow:inset 0 1px 1px -1px #FFF,inset 0 -1px 1px -1px #FFF;box-shadow:inset 0 1px 1px -1px #FFF,inset 0 -1px 1px -1px #FFF} +.stripe-loading-indicator .stripe{width:100%;-webkit-animation:infinite-loader 60s linear;animation:infinite-loader 60s linear} +.stripe-loading-indicator .stripe-loaded{width:0;display:none} +.stripe-loading-indicator.loaded{display:none;-webkit-transition:opacity 0.4s linear;transition:opacity 0.4s linear;-webkit-transition-delay:0.3s;transition-delay:0.3s} +.stripe-loading-indicator.loaded .stripe-loaded{display:block;-webkit-transition:width 0.3s linear;transition:width 0.3s linear;width:100% !important} +.stripe-loading-indicator.hide{display:none} +@-moz-keyframes infinite-loader{0%{width:0%} +10%{width:42%} +20%{width:63%} +30%{width:78.75%} +40%{width:88.59375%} +50%{width:94.13085938%} +60%{width:97.07244873%} +70%{width:98.58920574%} +80%{width:99.35943391000001%} +90%{width:99.7475567%} +100%{width:99.94237615%} +} +@-webkit-keyframes infinite-loader{0%{width:0%} +10%{width:42%} +20%{width:63%} +30%{width:78.75%} +40%{width:88.59375%} +50%{width:94.13085938%} +60%{width:97.07244873%} +70%{width:98.58920574%} +80%{width:99.35943391000001%} +90%{width:99.7475567%} +100%{width:99.94237615%} +} +@-o-keyframes infinite-loader{0%{width:0%} +10%{width:42%} +20%{width:63%} +30%{width:78.75%} +40%{width:88.59375%} +50%{width:94.13085938%} +60%{width:97.07244873%} +70%{width:98.58920574%} +80%{width:99.35943391000001%} +90%{width:99.7475567%} +100%{width:99.94237615%} +} +@-ms-keyframes infinite-loader{0%{width:0%} +10%{width:42%} +20%{width:63%} +30%{width:78.75%} +40%{width:88.59375%} +50%{width:94.13085938%} +60%{width:97.07244873%} +70%{width:98.58920574%} +80%{width:99.35943391000001%} +90%{width:99.7475567%} +100%{width:99.94237615%} +} +@keyframes infinite-loader{0%{width:0%} +10%{width:42%} +20%{width:63%} +30%{width:78.75%} +40%{width:88.59375%} +50%{width:94.13085938%} +60%{width:97.07244873%} +70%{width:98.58920574%} +80%{width:99.35943391000001%} +90%{width:99.7475567%} +100%{width:99.94237615%} +} +@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)} +100%{-moz-transform:rotate(359deg)} +} +@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)} +100%{-webkit-transform:rotate(359deg)} +} +@-o-keyframes spin{0%{-o-transform:rotate(0deg)} +100%{-o-transform:rotate(359deg)} +} +@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)} +100%{-ms-transform:rotate(359deg)} +} +@keyframes spin{0%{transform:rotate(0deg)} +100%{transform:rotate(359deg)} +} +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle} +.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none} +.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px} +.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none} +.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap} +.select2-container .select2-search--inline{float:left} +.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px} +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none} +.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051} +.select2-results{display:block} +.select2-results__options{list-style:none;margin:0;padding:0} +.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none} +.select2-results__option[aria-selected]{cursor:pointer} +.select2-container--open .select2-dropdown{left:0} +.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0} +.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0} +.select2-search--dropdown{display:block;padding:4px} +.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box} +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none} +.select2-search--dropdown.select2-search--hide{display:none} +.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)} +.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} +.select2-container .loading-indicator{background:transparent} +.select2-container .loading-indicator > span{background-image:url('../../../system/assets/ui/images/loader-transparent.svg');left:auto;right:10px;top:19px;background-size:17px 17px} +.select2-container.in-progress .select2-selection .select2-selection__arrow b{display:none !important} +.select2-container--default{display:block; } +.select2-container--default .select2-selection{background-color:#ffffff;border:1px solid #e0e0e0;border-radius:3px;color:#555555;font-family:'Open Sans',Arial,sans-serif;font-size:13px;outline:0} +.select2-container--default .select2-search--dropdown{position:relative} +.select2-container--default .select2-search--dropdown:after{position:absolute;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f002";right:10px;top:7px;color:#95a5a6} +.select2-container--default .select2-search--dropdown .select2-search__field{background-color:#ffffff;border:1px solid #e0e0e0;border-radius:3px;color:#555555;font-family:'Open Sans',Arial,sans-serif;font-size:13px} +.select2-container--default .select2-search__field{outline:0} +.select2-container--default .select2-search__field::-webkit-input-placeholder{color:#cccccc} +.select2-container--default .select2-search__field:-moz-placeholder{color:#cccccc} +.select2-container--default .select2-search__field::-moz-placeholder{color:#cccccc;opacity:1} +.select2-container--default .select2-search__field:-ms-input-placeholder{color:#cccccc} +.select2-container--default .select2-results__option[role=group]{padding:0} +.select2-container--default .select2-results__option[aria-disabled=true]{color:#999999;cursor:not-allowed} +.select2-container--default .select2-results__option[aria-selected=true]{background-color:#f5f5f5;color:#262626} +.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#4da7e8;color:#ffffff} +.select2-container--default .select2-results__option .select2-results__option{padding:9px 11px} +.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0} +.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-11px;padding-left:22px} +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-22px;padding-left:33px} +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-33px;padding-left:44px} +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-44px;padding-left:55px} +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-55px;padding-left:66px} +.select2-container--default .select2-results__group{color:#999999;display:block;padding:9px 11px;font-size:12px;line-height:1.42857143;white-space:nowrap} +.select2-container--default.select2-container--focus .select2-selection,.select2-container--default.select2-container--open .select2-selection{-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;border-color:#808c8d} +.select2-container--default.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #666666 transparent;border-width:0 4px 4px 4px} +.select2-container--default.select2-container--open.select2-container--below .select2-selection{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-color:transparent} +.select2-container--default.select2-container--open.select2-container--above .select2-selection{border-top-right-radius:0;border-top-left-radius:0;border-top-color:transparent} +.select2-container--default .select2-selection__clear{color:#666666;cursor:pointer;float:right;font-weight:bold;margin-right:10px} +.select2-container--default .select2-selection__clear:hover{color:#333} +.select2-container--default.select2-container--disabled .select2-selection{border-color:#e0e0e0;-webkit-box-shadow:none;box-shadow:none} +.select2-container--default.select2-container--disabled .select2-selection,.select2-container--default.select2-container--disabled .select2-search__field{cursor:not-allowed} +.select2-container--default.select2-container--disabled .select2-selection,.select2-container--default.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#eeeeee} +.select2-container--default.select2-container--disabled .select2-selection__clear,.select2-container--default.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove{display:none} +.select2-container--default .select2-dropdown{-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.075);box-shadow:0 3px 6px rgba(0,0,0,0.075);border-color:#808c8d;overflow-x:hidden;margin-top:-1px} +.select2-container--default .select2-dropdown--above{margin-top:1px;-webkit-box-shadow:0 -3px 6px rgba(0,0,0,0.075);box-shadow:0 -3px 6px rgba(0,0,0,0.075)} +.select2-container--default .select2-results > .select2-results__options{font-size:13px;max-height:200px;overflow-y:auto} +.select2-container--default .select2-selection--single{height:40px;line-height:1.42857143;padding:9px 23px 9px 11px} +.select2-container--default .select2-selection--single .select2-selection__arrow{position:absolute;bottom:0;right:11px;top:0;width:4px} +.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#666666 transparent transparent transparent;border-style:solid;border-width:4px 4px 0 4px;height:0;left:0;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0} +.select2-container--default .select2-selection--single .select2-selection__rendered{color:#555555;padding:0} +.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#cccccc} +.select2-container--default .select2-selection--multiple{min-height:40px} +.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;display:block;line-height:1.42857143;list-style:none;margin:0;overflow:hidden;padding:0;width:100%;text-overflow:ellipsis;white-space:nowrap} +.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#cccccc;float:left;margin-top:5px} +.select2-container--default .select2-selection--multiple .select2-selection__choice{color:#555555;background:#ffffff;border:1px solid #cccccc;border-radius:4px;cursor:default;float:left;margin:8px 0 0 5.5px;padding:0 9px} +.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field{background:transparent;padding:0 11px;height:38px;line-height:1.42857143;margin-top:0;min-width:5em} +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:4.5px} +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333} +.select2-container--default .select2-selection--multiple .select2-selection__clear{margin-top:9px} +.select2-container--default.input-sm,.select2-container--default.input-lg{border-radius:0;font-size:12px;height:auto;line-height:1;padding:0} +.select2-container--default.input-sm .select2-selection--single,.input-group-sm .select2-container--default .select2-selection--single,.form-group-sm .select2-container--default .select2-selection--single{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 22px 5px 10px; } +.select2-container--default.input-sm .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--default .select2-selection--single .select2-selection__arrow b,.form-group-sm .select2-container--default .select2-selection--single .select2-selection__arrow b{margin-left:-5px} +.select2-container--default.input-sm .select2-selection--multiple,.input-group-sm .select2-container--default .select2-selection--multiple,.form-group-sm .select2-container--default .select2-selection--multiple{min-height:30px} +.select2-container--default.input-sm .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--default .select2-selection--multiple .select2-selection__choice,.form-group-sm .select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:12px;line-height:1.5;margin:4px 0 0 5px;padding:0 5px} +.select2-container--default.input-sm .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-sm .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 10px;font-size:12px;height:28px;line-height:1.5} +.select2-container--default.input-sm .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--default .select2-selection--multiple .select2-selection__clear,.form-group-sm .select2-container--default .select2-selection--multiple .select2-selection__clear{margin-top:5px} +.select2-container--default.input-lg .select2-selection--single,.input-group-lg .select2-container--default .select2-selection--single,.form-group-lg .select2-container--default .select2-selection--single{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 31px 10px 16px; } +.select2-container--default.input-lg .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--default .select2-selection--single .select2-selection__arrow,.form-group-lg .select2-container--default .select2-selection--single .select2-selection__arrow{width:5px} +.select2-container--default.input-lg .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--default .select2-selection--single .select2-selection__arrow b,.form-group-lg .select2-container--default .select2-selection--single .select2-selection__arrow b{border-width:5px 5px 0 5px;margin-left:-5px;margin-left:-10px;margin-top:-2.5px} +.select2-container--default.input-lg .select2-selection--multiple,.input-group-lg .select2-container--default .select2-selection--multiple,.form-group-lg .select2-container--default .select2-selection--multiple{min-height:46px} +.select2-container--default.input-lg .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--default .select2-selection--multiple .select2-selection__choice,.form-group-lg .select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:18px;line-height:1.3333333;border-radius:4px;margin:9px 0 0 8px;padding:0 10px} +.select2-container--default.input-lg .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-lg .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 16px;font-size:18px;height:44px;line-height:1.3333333} +.select2-container--default.input-lg .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--default .select2-selection--multiple .select2-selection__clear,.form-group-lg .select2-container--default .select2-selection--multiple .select2-selection__clear{margin-top:10px} +.select2-container--default.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #666666 transparent;border-width:0 5px 5px 5px} +.input-group-lg .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #666666 transparent;border-width:0 5px 5px 5px} +.select2-container--default[dir="rtl"] .select2-selection--single{padding-left:23px;padding-right:11px} +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right; } +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left} +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:11px;right:auto} +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow b{margin-left:0} +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder{float:right} +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:0;margin-right:5.5px} +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto} +.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#8a6d3b} +.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{border-color:#66512c} +.has-warning.select2-drop-active{border-color:#66512c} +.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#66512c} +.has-error .select2-dropdown,.has-error .select2-selection{border-color:#a94442} +.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{border-color:#843534} +.has-error.select2-drop-active{border-color:#843534} +.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#843534} +.has-success .select2-dropdown,.has-success .select2-selection{border-color:#3c763d} +.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{border-color:#2b542c} +.has-success.select2-drop-active{border-color:#2b542c} +.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#2b542c} +.input-group .select2-container--default{display:table;table-layout:fixed;position:relative;z-index:2;float:left;width:100%;margin-bottom:0} +.input-group.select2-default-prepend .select2-container--default .select2-selection{border-bottom-left-radius:0;border-top-left-radius:0} +.input-group.select2-default-append .select2-container--default .select2-selection{border-bottom-right-radius:0;border-top-right-radius:0} +.select2-default-append .select2-container--default,.select2-default-prepend .select2-container--default,.select2-default-append .input-group-btn,.select2-default-prepend .input-group-btn,.select2-default-append .input-group-btn .btn,.select2-default-prepend .input-group-btn .btn{vertical-align:top} + .form-control.select2-hidden-accessible{position:absolute !important;width:1px !important} +.form-inline .select2-container--default{display:inline-block} +.control-balloon-selector ul{padding:0;margin-top:-5px} +.control-balloon-selector ul li{list-style:none;display:inline-block;padding:6px 7px 5px;margin-right:5px;margin-top:6px;text-transform:uppercase;background:#bcc3c7;color:#ffffff;font-size:10px;line-height:100%;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;-webkit-transition:all 0.1s ease;transition:all 0.1s ease} +.control-balloon-selector ul li.active{background:#da5700 !important} +.control-balloon-selector.control-disabled{opacity:0.5;filter:alpha(opacity=50)} +.control-balloon-selector:not(.control-disabled) ul li:hover{background:#0181b9;cursor:pointer} +.form-group .control-balloon-selector ul{margin-bottom:0} +.custom-checkbox.nolabel label,.custom-radio.nolabel label{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} +.custom-checkbox,.custom-radio{padding-left:23px;margin-top:0} +.custom-checkbox input[type=radio],.custom-radio input[type=radio],.custom-checkbox input[type=checkbox],.custom-radio input[type=checkbox]{display:none} +.custom-checkbox label,.custom-radio label{display:inline-block;cursor:pointer;position:relative;padding-left:20px;margin-right:15px;margin-left:-20px;font-size:12px} +.custom-checkbox label:before,.custom-radio label:before{content:"";display:inline-block;text-align:center;width:16px;height:16px;margin-right:10px;position:absolute;left:-3px;bottom:1px;background-color:#FFFFFF;border:1px solid #999999;color:#666666} +.custom-checkbox label:hover:before,.custom-radio label:hover:before{border-color:#808080;color:#4d4d4d} +.custom-checkbox label:active:before,.custom-radio label:active:before{border-color:#666666;color:#333333} +.custom-checkbox input[type=radio]:checked + label:before,.custom-radio input[type=radio]:checked + label:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f111";font-size:9px;line-height:12px;border-width:2px} +.custom-checkbox input[type=checkbox]:checked + label:before,.custom-radio input[type=checkbox]:checked + label:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f00c";font-size:10px;line-height:12px;border-width:2px} +.custom-checkbox:focus,.custom-radio:focus{outline:none} +.custom-checkbox:focus label:before,.custom-radio:focus label:before{border-color:#5fb6f5} +.custom-checkbox p.help-block,.custom-radio p.help-block{margin-top:0} +.custom-radio label:before{border-radius:8px} +.custom-checkbox label:before{border-radius:2px} +.switch-field .field-switch{padding-left:75px;float:left} +.custom-switch{display:block;width:58px;height:26px;position:relative;text-transform:uppercase;border:none;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +.custom-switch *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.custom-switch.disabled{opacity:0.5;filter:alpha(opacity=50)} +.custom-switch .slide-button{z-index:4;display:block;position:absolute;right:34px;top:2px;width:22px;height:22px;background-color:#f6f6f6;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;-webkit-transition:all 0.1s;transition:all 0.1s} +.custom-switch label,.custom-switch > span{line-height:23px;vertical-align:middle} +.custom-switch label{z-index:3;width:100%;display:block;position:relative} +.custom-switch input{z-index:5;position:absolute;left:0;top:0;opacity:0;filter:alpha(opacity=0)} +.custom-switch input:checked ~ .slide-button{right:2px} +.custom-switch input:checked ~ span{background-color:#8da85e} +.custom-switch input:checked ~ span span:first-of-type{color:#FFFFFF;display:block} +.custom-switch input:checked ~ span span:last-of-type{color:#666666;display:none} +.custom-switch > span{display:block;height:100%;position:absolute;left:0;width:100%;background-color:#cc3300;font-size:11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px} +.custom-switch > span span{z-index:5;display:block;width:50%;position:absolute;top:1px;left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.custom-switch > span span:last-child{left:50%;color:#FFFFFF;display:block} +.custom-switch > span span:first-of-type{padding-left:9px;display:none;color:#666666} +.form-preview{padding:15px;margin-bottom:20px;background:white;border:1px solid #eee} +.form-preview > .form-group:last-child{padding-bottom:0} +.form-preview.form-flush{border-top:none} +.form-elements:before,.form-tabless-fields:before,.form-elements:after,.form-tabless-fields:after{content:" ";display:table} +.form-elements:after,.form-tabless-fields:after{clear:both} +.form-elements:before,.form-tabless-fields:before,.form-elements:after,.form-tabless-fields:after{content:" ";display:table} +.form-elements:after,.form-tabless-fields:after{clear:both} +.form-control{position:relative;-webkit-appearance:none} +.form-control:focus{border:1px solid #808c8d} +.form-control.icon{background-repeat:no-repeat;background-position:right -2px;padding-right:30px !important;background-image:url('../images/bitmap-icons.png')} +.form-control.icon.plus{background-position:right -124px} +.form-control.icon.search{background-position:right -84px} +.form-control.icon.user{background-position:right -41px} +.form-control.icon.lock{background-position:right 0} +.form-control.growable{width:110px} +.form-control.growable:focus,.form-control.growable:active{width:200px !important} +.form-group{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.form-group:empty{display:none} +.form-group,.form-group.layout-item{padding-bottom:20px;margin-bottom:0} +.form-group.is-required > label:after{color:#ff0000;vertical-align:super;font-size:60%;content:" *";text-shadow:0 0 2px #b30000} +.form-group.span-full{width:100%;float:left} +.form-group.span-left{float:left;width:48.5%;clear:left} +.form-group.span-right{float:right;width:48.5%;clear:right} +.form-group.layout-relative{padding-bottom:0} +.form-group.checkbox-field{padding-bottom:5px} +.form-group.number-field > .form-control{text-align:right} +.form-group.checkbox-align{padding-left:23px;margin-top:-5px} +.form-group.field-slim.span-left,.form-group.field-slim.span-right{width:50%} +.form-group.field-indent{padding-left:23px} +.form-group.input-sidebar-control{padding-right:35px} +.form-group.input-sidebar-control .sidebar-control{position:absolute;right:8px;top:34px;font-size:16px;color:#c4c4c4} +.form-group.input-sidebar-control .sidebar-control:hover,.form-group.input-sidebar-control .sidebar-control:focus{text-decoration:none;color:#0181b9;outline:none} +.form-group-preview .form-control{background-color:#f6f6f6;height:auto;min-height:38px} +.form-group-preview .custom-checkbox label,.form-group-preview .custom-radio label{cursor:default} +.help-block{font-size:12px;margin-bottom:0} +.help-block.before-field{margin-top:0;margin-bottom:10px} +.input-with-icon{position:relative} +.input-with-icon > .icon{position:absolute;z-index:2;padding:13px;pointer-events:none;color:#bdbdbd;font-size:15px} +.input-with-icon.right-align > .icon{right:0} +.input-with-icon.right-align input{padding-right:32px !important} +.input-with-icon.left-align > .icon{left:0} +.input-with-icon.left-align input{padding-left:32px !important} +.field-section{border-bottom:1px solid #e0e0e0;padding-top:3px;padding-bottom:7px} +.field-section > h4{color:rgba(0,0,0,0.6)} +.field-section > p:first-child,.field-section > h4:first-child{margin:0} +.field-section.is-collapsible{cursor:pointer} +.field-section.is-collapsible > h4:before{display:inline-block;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;vertical-align:baseline;content:"\f0d7";margin:0 8px;float:right;color:rgba(0,0,0,0.4)} +.field-section.is-collapsible:hover{border-bottom:1px solid #c7c7c7} +.field-section.is-collapsible:hover > h4:before{color:inherit} +.field-textarea{resize:vertical} +.field-textarea.size-tiny{min-height:50px} +.field-textarea.size-small{min-height:100px} +.field-textarea.size-large{min-height:200px} +.field-textarea.size-huge{min-height:250px} +.field-textarea.size-giant{min-height:350px} +.field-checkboxlist .checkbox:last-of-type{margin-bottom:0} +.field-checkboxlist-scrollable{background:white;border:1px solid #e2e2e2;padding-left:15px;height:300px} +.field-checkboxlist-scrollable .checkbox{margin-top:15px;margin-bottom:5px} +.field-checkboxlist-scrollable .checkbox ~ .checkbox{margin-top:0} +.field-recordfinder{background-color:#ffffff;border:1px solid #e0e0e0;overflow:hidden;position:relative} +.field-recordfinder .form-control{background:transparent;border-color:transparent;height:auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:8px 30px 10px 11px} +.field-recordfinder .btn{background:transparent;position:absolute;right:-2px;top:50%;margin-top:-44px;height:88px;color:#595959} +.field-recordfinder .btn i{font-size:14px} +.field-recordfinder .btn:hover{color:#333333} +.field-recordfinder .text-muted i{font-size:14px;position:relative;top:1px;display:inline-block;margin:0 2px} +.field-recordfinder .primary{font-weight:600} +.recordfinder-search{background-position:right -81px !important;border-top:none !important;border-left:none !important;border-right:none !important;border-radius:0} +.form-buttons{padding-bottom:20px;font-size:0} +.form-buttons:before,.form-buttons:after{content:" ";display:table} +.form-buttons:after{clear:both} +.form-buttons:before,.form-buttons:after{content:" ";display:table} +.form-buttons:after{clear:both} +.form-buttons .btn{margin-right:10px} +.form-buttons .btn.no-margin-right{margin-right:0} +.form-buttons .pull-right{margin-right:0;margin-left:10px} +.form-buttons.buttons-offset{padding-left:20px} +body.slim-container .form-buttons{padding:0 20px 20px} +@media (max-width:769px){.form-group.span-left,.form-group.span-right{width:100%;clear:none} +} +.form-group .select2-container{width:100% !important} +.select2-dropdown{z-index:10000} +[data-control=toolbar] .form-control{display:inline-block;margin-right:15px} +[data-control=toolbar] .form-control.width-50{width:50px} +[data-control=toolbar] .form-control.width-100{width:100px} +[data-control=toolbar] .form-control.width-150{width:150px} +[data-control=toolbar] input[type=text].form-control,[data-control=toolbar] label{position:relative;top:5px} +[data-control=toolbar] label{margin-right:7px} +[data-control=toolbar] label.standalone{margin-right:15px} +[data-control=toolbar] .select2-container{display:inline-block;width:auto;height:36px;margin-right:15px} +[data-control=toolbar] .select2-container .select2-selection__rendered{line-height:17px} +[data-control=toolbar] .select2-container .select2-selection--single{height:36px} +[data-control=toolbar] select.form-control.custom-select{display:none} +tr.rowlink td{cursor:pointer} +tr.rowlink td.nolink{cursor:auto} +.table tbody tr.rowlink:hover td{background-color:#f5f5f5} +a.rowlink{color:inherit;font:inherit;text-decoration:inherit} +table{max-width:100%;background-color:transparent} +th{text-align:left} +.table{width:100%;margin-bottom:20px;border-collapse:separate} +.table > thead > tr > th,.table > tbody > tr > th,.table > tfoot > tr > th,.table > thead > tr > td,.table > tbody > tr > td,.table > tfoot > tr > td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd} +.table > thead > tr > th{vertical-align:bottom;border-bottom:2px solid #dddddd} +.table > caption + thead > tr:first-child > th,.table > colgroup + thead > tr:first-child > th,.table > thead:first-child > tr:first-child > th,.table > caption + thead > tr:first-child > td,.table > colgroup + thead > tr:first-child > td,.table > thead:first-child > tr:first-child > td{border-top:0} +.table > tbody + tbody{border-top:2px solid #dddddd} +.table .table{background-color:#f9f9f9} +.table-condensed > thead > tr > th,.table-condensed > tbody > tr > th,.table-condensed > tfoot > tr > th,.table-condensed > thead > tr > td,.table-condensed > tbody > tr > td,.table-condensed > tfoot > tr > td{padding:5px} +.table-bordered{border:1px solid #dddddd} +.table-bordered > thead > tr > th,.table-bordered > tbody > tr > th,.table-bordered > tfoot > tr > th,.table-bordered > thead > tr > td,.table-bordered > tbody > tr > td,.table-bordered > tfoot > tr > td{border:1px solid #dddddd} +.table-bordered > thead > tr > th,.table-bordered > thead > tr > td{border-bottom-width:2px} +.table-striped > tbody > tr:nth-child(odd) > td,.table-striped > tbody > tr:nth-child(odd) > th{background-color:#f9f9f9} +.table-hover > tbody > tr:hover > td,.table-hover > tbody > tr:hover > th{background-color:#f5f5f5} +table col[class*="col-"]{position:static;float:none;display:table-column} +table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell} +.table > thead > tr > td.active,.table > tbody > tr > td.active,.table > tfoot > tr > td.active,.table > thead > tr > th.active,.table > tbody > tr > th.active,.table > tfoot > tr > th.active,.table > thead > tr.active > td,.table > tbody > tr.active > td,.table > tfoot > tr.active > td,.table > thead > tr.active > th,.table > tbody > tr.active > th,.table > tfoot > tr.active > th{background-color:#f5f5f5} +.table-hover > tbody > tr > td.active:hover,.table-hover > tbody > tr > th.active:hover,.table-hover > tbody > tr.active:hover > td,.table-hover > tbody > tr.active:hover > th{background-color:#e8e8e8} +.table > thead > tr > td.success,.table > tbody > tr > td.success,.table > tfoot > tr > td.success,.table > thead > tr > th.success,.table > tbody > tr > th.success,.table > tfoot > tr > th.success,.table > thead > tr.success > td,.table > tbody > tr.success > td,.table > tfoot > tr.success > td,.table > thead > tr.success > th,.table > tbody > tr.success > th,.table > tfoot > tr.success > th{background-color:#dff0d8} +.table-hover > tbody > tr > td.success:hover,.table-hover > tbody > tr > th.success:hover,.table-hover > tbody > tr.success:hover > td,.table-hover > tbody > tr.success:hover > th{background-color:#d0e9c6} +.table > thead > tr > td.info,.table > tbody > tr > td.info,.table > tfoot > tr > td.info,.table > thead > tr > th.info,.table > tbody > tr > th.info,.table > tfoot > tr > th.info,.table > thead > tr.info > td,.table > tbody > tr.info > td,.table > tfoot > tr.info > td,.table > thead > tr.info > th,.table > tbody > tr.info > th,.table > tfoot > tr.info > th{background-color:#d9edf7} +.table-hover > tbody > tr > td.info:hover,.table-hover > tbody > tr > th.info:hover,.table-hover > tbody > tr.info:hover > td,.table-hover > tbody > tr.info:hover > th{background-color:#c4e3f3} +.table > thead > tr > td.warning,.table > tbody > tr > td.warning,.table > tfoot > tr > td.warning,.table > thead > tr > th.warning,.table > tbody > tr > th.warning,.table > tfoot > tr > th.warning,.table > thead > tr.warning > td,.table > tbody > tr.warning > td,.table > tfoot > tr.warning > td,.table > thead > tr.warning > th,.table > tbody > tr.warning > th,.table > tfoot > tr.warning > th{background-color:#fcf8e3} +.table-hover > tbody > tr > td.warning:hover,.table-hover > tbody > tr > th.warning:hover,.table-hover > tbody > tr.warning:hover > td,.table-hover > tbody > tr.warning:hover > th{background-color:#faf2cc} +.table > thead > tr > td.danger,.table > tbody > tr > td.danger,.table > tfoot > tr > td.danger,.table > thead > tr > th.danger,.table > tbody > tr > th.danger,.table > tfoot > tr > th.danger,.table > thead > tr.danger > td,.table > tbody > tr.danger > td,.table > tfoot > tr.danger > td,.table > thead > tr.danger > th,.table > tbody > tr.danger > th,.table > tfoot > tr.danger > th{background-color:#f2dede} +.table-hover > tbody > tr > td.danger:hover,.table-hover > tbody > tr > th.danger:hover,.table-hover > tbody > tr.danger:hover > td,.table-hover > tbody > tr.danger:hover > th{background-color:#ebcccc} +@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd;-webkit-overflow-scrolling:touch} +.table-responsive > .table{margin-bottom:0} +.table-responsive > .table > thead > tr > th,.table-responsive > .table > tbody > tr > th,.table-responsive > .table > tfoot > tr > th,.table-responsive > .table > thead > tr > td,.table-responsive > .table > tbody > tr > td,.table-responsive > .table > tfoot > tr > td{white-space:nowrap} +.table-responsive > .table-bordered{border:0} +.table-responsive > .table-bordered > thead > tr > th:first-child,.table-responsive > .table-bordered > tbody > tr > th:first-child,.table-responsive > .table-bordered > tfoot > tr > th:first-child,.table-responsive > .table-bordered > thead > tr > td:first-child,.table-responsive > .table-bordered > tbody > tr > td:first-child,.table-responsive > .table-bordered > tfoot > tr > td:first-child{border-left:0} +.table-responsive > .table-bordered > thead > tr > th:last-child,.table-responsive > .table-bordered > tbody > tr > th:last-child,.table-responsive > .table-bordered > tfoot > tr > th:last-child,.table-responsive > .table-bordered > thead > tr > td:last-child,.table-responsive > .table-bordered > tbody > tr > td:last-child,.table-responsive > .table-bordered > tfoot > tr > td:last-child{border-right:0} +.table-responsive > .table-bordered > tbody > tr:last-child > th,.table-responsive > .table-bordered > tfoot > tr:last-child > th,.table-responsive > .table-bordered > tbody > tr:last-child > td,.table-responsive > .table-bordered > tfoot > tr:last-child > td{border-bottom:0} +} +table.table.data{font-size:12px} +table.table.data thead{background:#ffffff} +table.table.data thead td,table.table.data thead th{border-width:1px;border-top:1px solid #e2e2e2 !important;border-color:#e2e2e2;padding:0;font-weight:normal} +table.table.data thead td > a,table.table.data thead th > a,table.table.data thead td > span,table.table.data thead th > span{display:block;padding:13px 15px;text-transform:uppercase;color:#333333;text-decoration:none} +table.table.data thead td > a:hover,table.table.data thead th > a:hover,table.table.data thead td > span:hover,table.table.data thead th > span:hover{color:#000000} +table.table.data thead td.sort-desc > span:after,table.table.data thead th.sort-desc > span:after,table.table.data thead td.sort-desc > a:after,table.table.data thead th.sort-desc > a:after{font-size:14px;line-height:14px;display:inline-block;margin-left:8px;vertical-align:baseline;opacity:0.2;filter:alpha(opacity=20);font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f107"} +table.table.data thead td.sort-desc > span:hover:after,table.table.data thead th.sort-desc > span:hover:after,table.table.data thead td.sort-desc > a:hover:after,table.table.data thead th.sort-desc > a:hover:after{opacity:0.6;filter:alpha(opacity=60)} +table.table.data thead td.sort-asc > span:after,table.table.data thead th.sort-asc > span:after,table.table.data thead td.sort-asc > a:after,table.table.data thead th.sort-asc > a:after{font-size:14px;line-height:14px;display:inline-block;margin-left:8px;vertical-align:baseline;opacity:0.2;filter:alpha(opacity=20);font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f106"} +table.table.data thead td.sort-asc > span:hover:after,table.table.data thead th.sort-asc > span:hover:after,table.table.data thead td.sort-asc > a:hover:after,table.table.data thead th.sort-asc > a:hover:after{opacity:0.6;filter:alpha(opacity=60)} +table.table.data thead td.active,table.table.data thead th.active{background-color:inherit} +table.table.data thead td.active > span:after,table.table.data thead th.active > span:after,table.table.data thead td.active > a:after,table.table.data thead th.active > a:after{color:#c63e26;opacity:1 !important;filter:alpha(opacity=100) !important} +table.table.data thead tr th:first-child{padding-left:5px} +table.table.data tbody tr:nth-child(even) td,table.table.data tbody tr:nth-child(even) th{background-color:#f5f5f5} +table.table.data tbody td,table.table.data tbody th{padding:11px 15px;color:#666666;border-color:#eeeeee} +table.table.data tbody td a,table.table.data tbody th a{color:#666666} +table.table.data tbody td a:hover,table.table.data tbody th a:hover{text-decoration:none} +table.table.data tbody td div.progress,table.table.data tbody th div.progress{position:relative;overflow:visible;height:auto;margin-bottom:0;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none} +table.table.data tbody td div.progress div.bar,table.table.data tbody th div.progress div.bar{position:absolute;left:-15px;top:-11px;bottom:-11px;background:#0181b9;opacity:0.3;filter:alpha(opacity=30)} +table.table.data tbody td div.progress a,table.table.data tbody th div.progress a{position:relative} +table.table.data tbody tr:first-child th,table.table.data tbody tr:first-child td{border-top-width:0} +table.table.data tbody tr td:first-child{border-left:3px solid transparent;padding-left:17px} +table.table.data tbody tr.active td{color:#000000} +table.table.data tbody tr.active td:first-child{border-left:3px solid #ff9933} +table.table.data tbody tr:not(.no-data):hover td,table.table.data tbody tr:not(.no-data).selected td{background:#4da7e8 !important;color:white} +table.table.data tbody tr:not(.no-data):hover td a,table.table.data tbody tr:not(.no-data).selected td a,table.table.data tbody tr:not(.no-data):hover td span,table.table.data tbody tr:not(.no-data).selected td span,table.table.data tbody tr:not(.no-data):hover td i[class^="icon-"],table.table.data tbody tr:not(.no-data).selected td i[class^="icon-"]{color:white} +table.table.data tbody tr.hidden td,table.table.data tbody tr.hidden th,table.table.data tbody tr.hidden td a,table.table.data tbody tr.hidden th a{display:none} +table.table.data tbody tr.strike td,table.table.data tbody tr.strike th,table.table.data tbody tr.strike td a,table.table.data tbody tr.strike th a{text-decoration:line-through} +table.table.data tbody tr.frozen td,table.table.data tbody tr.frozen th,table.table.data tbody tr.frozen td a,table.table.data tbody tr.frozen th a{color:#337ab7} +table.table.data tbody tr.processing td,table.table.data tbody tr.processing th,table.table.data tbody tr.processing td a,table.table.data tbody tr.processing th a{color:#666666} +table.table.data tbody tr.negative td,table.table.data tbody tr.negative th,table.table.data tbody tr.negative td a,table.table.data tbody tr.negative th a{color:#b2341c} +table.table.data tbody tr.positive td,table.table.data tbody tr.positive th,table.table.data tbody tr.positive td a,table.table.data tbody tr.positive th a{color:#278731} +table.table.data tbody tr.disabled td,table.table.data tbody tr.deleted td,table.table.data tbody tr.disabled th,table.table.data tbody tr.deleted th,table.table.data tbody tr.disabled td a,table.table.data tbody tr.deleted td a,table.table.data tbody tr.disabled th a,table.table.data tbody tr.deleted th a{color:#888888} +table.table.data tbody tr.new td,table.table.data tbody tr.important td,table.table.data tbody tr.new th,table.table.data tbody tr.important th,table.table.data tbody tr.new td a,table.table.data tbody tr.important td a,table.table.data tbody tr.new th a,table.table.data tbody tr.important th a{font-weight:600} +table.table.data tbody tr.safe td,table.table.data tbody tr.special td,table.table.data tbody tr.safe th,table.table.data tbody tr.special th,table.table.data tbody tr.safe td a,table.table.data tbody tr.special td a,table.table.data tbody tr.safe th a,table.table.data tbody tr.special th a{color:#98a7a8} +table.table.data tbody td.column-break-word{word-wrap:break-word;word-break:break-all} +table.table.data tbody td.column-single-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +table.table.data tbody td.column-slim{padding-left:0;padding-right:0} +table.table.data tbody.icons td i[class^="icon-"]{display:inline-block;margin-right:7px;font-size:15px;color:#95a5a6;position:relative;top:1px} +table.table.data tbody.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +table.table.data tbody td.column-compact{padding:0} +table.table.data tfoot a{color:#666666;text-decoration:none} +table.table.data tfoot td,table.table.data tfoot th{border-color:#e2e2e2;padding:10px 15px} +table.table.data th.list-cell-type-switch,table.table.data td.list-cell-type-switch{text-align:center} +table.table.data .list-checkbox{padding-left:16px;padding-right:8px;width:52px;vertical-align:top;border-right:1px solid #eeeeee} +table.table.data .list-checkbox .checkbox{margin:0} +table.table.data .list-checkbox .custom-checkbox{position:relative;top:5px;left:-2px} +table.table.data .list-checkbox .custom-checkbox label{margin-right:0} +table.table.data thead tr th.list-checkbox{padding:18px 0 0 20px} +table.table.data .list-tree{width:10px;padding:0} +table.table.data .list-tree a.list-expand-collapse{padding:5px;display:block;text-align:center;font-size:14px;position:relative;top:5px;left:10px;text-decoration:none !important} +table.table.data tr.list-tree-level-1 a.list-expand-collapse{left:30px} +table.table.data tr.list-tree-level-1 td.list-cell-index-1{padding-left:35px} +table.table.data tr.list-tree-level-2 a.list-expand-collapse{left:40px} +table.table.data tr.list-tree-level-2 td.list-cell-index-1{padding-left:45px} +table.table.data tr.list-tree-level-3 a.list-expand-collapse{left:50px} +table.table.data tr.list-tree-level-3 td.list-cell-index-1{padding-left:55px} +table.table.data tr.list-tree-level-4 a.list-expand-collapse{left:60px} +table.table.data tr.list-tree-level-4 td.list-cell-index-1{padding-left:65px} +table.table.data tr.list-tree-level-5 a.list-expand-collapse{left:70px} +table.table.data tr.list-tree-level-5 td.list-cell-index-1{padding-left:75px} +table.table.data tr.list-tree-level-6 a.list-expand-collapse{left:80px} +table.table.data tr.list-tree-level-6 td.list-cell-index-1{padding-left:85px} +table.table.data tr.list-tree-level-7 a.list-expand-collapse{left:90px} +table.table.data tr.list-tree-level-7 td.list-cell-index-1{padding-left:95px} +table.table.data tr.list-tree-level-8 a.list-expand-collapse{left:100px} +table.table.data tr.list-tree-level-8 td.list-cell-index-1{padding-left:105px} +table.table.data tr.list-tree-level-9 a.list-expand-collapse{left:110px} +table.table.data tr.list-tree-level-9 td.list-cell-index-1{padding-left:115px} +table.table.data tr.list-tree-level-10 a.list-expand-collapse{left:120px} +table.table.data tr.list-tree-level-10 td.list-cell-index-1{padding-left:125px} +table.table.data tr.list-tree-level-11 a.list-expand-collapse{left:130px} +table.table.data tr.list-tree-level-11 td.list-cell-index-1{padding-left:135px} +table.table.data tr.list-tree-level-12 a.list-expand-collapse{left:140px} +table.table.data tr.list-tree-level-12 td.list-cell-index-1{padding-left:145px} +table.table.data tr.list-tree-level-13 a.list-expand-collapse{left:150px} +table.table.data tr.list-tree-level-13 td.list-cell-index-1{padding-left:155px} +table.table.data tr.list-tree-level-14 a.list-expand-collapse{left:160px} +table.table.data tr.list-tree-level-14 td.list-cell-index-1{padding-left:165px} +table.table.data tr.list-tree-level-15 a.list-expand-collapse{left:170px} +table.table.data tr.list-tree-level-15 td.list-cell-index-1{padding-left:175px} +table.table.data tr.list-tree-level-16 a.list-expand-collapse{left:180px} +table.table.data tr.list-tree-level-16 td.list-cell-index-1{padding-left:185px} +table.table.data tr.list-tree-level-17 a.list-expand-collapse{left:190px} +table.table.data tr.list-tree-level-17 td.list-cell-index-1{padding-left:195px} +table.table.data tr.list-tree-level-18 a.list-expand-collapse{left:200px} +table.table.data tr.list-tree-level-18 td.list-cell-index-1{padding-left:205px} +table.table.data tr.list-tree-level-19 a.list-expand-collapse{left:210px} +table.table.data tr.list-tree-level-19 td.list-cell-index-1{padding-left:215px} +table.table.data tr.list-tree-level-20 a.list-expand-collapse{left:220px} +table.table.data tr.list-tree-level-20 td.list-cell-index-1{padding-left:225px} +table.table.data tr.list-tree-level-21 a.list-expand-collapse{left:230px} +table.table.data tr.list-tree-level-21 td.list-cell-index-1{padding-left:235px} +table.table.data tr.list-tree-level-22 a.list-expand-collapse{left:240px} +table.table.data tr.list-tree-level-22 td.list-cell-index-1{padding-left:245px} +table.table.data tr.list-tree-level-23 a.list-expand-collapse{left:250px} +table.table.data tr.list-tree-level-23 td.list-cell-index-1{padding-left:255px} +table.table.data tr.list-tree-level-24 a.list-expand-collapse{left:260px} +table.table.data tr.list-tree-level-24 td.list-cell-index-1{padding-left:265px} +table.table.data tr.list-tree-level-25 a.list-expand-collapse{left:270px} +table.table.data tr.list-tree-level-25 td.list-cell-index-1{padding-left:275px} +.list-preview{padding:0;margin-bottom:20px;background:white;border:1px solid #e2e2e2} +.list-preview .list-header:first-child{padding-top:20px} +.list-preview .control-list:last-child > table{margin-bottom:0} +.list-flush table.table.data thead tr th{border-top:none !important} +.control-list p.no-data{padding:18px 20px;margin:0 20px;color:#666666;font-size:14px;text-align:center;font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +.control-list table.table.data .list-setup{width:48px} +.control-list table.table.data .list-setup a{display:block;color:#000000} +.control-list table.table.data .list-setup a:before{font-size:14px;line-height:14px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0ca";display:inline-block;margin-left:8px;vertical-align:baseline;opacity:0.6;filter:alpha(opacity=60)} +.control-list table.table.data .list-setup a:hover:before{opacity:1;filter:alpha(opacity=100);color:#4da7e8 !important} +.control-list table.table.data .list-pagination{font-size:14px;text-align:right;padding-top:20px} +.control-list table.table.data .list-pagination .loading-indicator div{margin-left:20px;font-size:12px} +.list-header{background-color:transparent;padding:0 20px 1px 20px} +.list-header h3{font-size:14px;color:#7e8c8d;text-transform:uppercase;font-weight:600;margin-top:0;margin-bottom:15px} +.report-widget .table-container{margin:-15px} +.report-widget .table-container table.table.data{margin-bottom:0} +.report-widget .table-container table.table.data thead tr th{border-top:none !important} +.report-widget .table-container table.table.data tbody tr:nth-child(even) td,.report-widget .table-container table.table.data tbody tr:nth-child(even) th{background-color:transparent} +@media only screen and (max-width:960px){.control-list table,.control-list thead,.control-list tbody,.control-list th,.control-list td,.control-list tr{display:block} +.control-list table{position:relative;border-top:1px solid #e2e2e2} +.control-list table thead tr td,.control-list table thead tr th{position:absolute;top:-9999px;left:-9999px} +.control-list table thead tr th.list-setup{position:absolute;top:auto;left:auto;bottom:0;right:0;border:none !important} +.control-list table thead tr th.list-setup a{padding:10px 15px} +.control-list table tbody tr{border-bottom:1px solid #e2e2e2} +.control-list table tbody tr td{border:none;border-left:3px solid transparent;position:relative;padding-left:40% !important;white-space:normal;text-align:left;min-height:40px} +.control-list table tbody tr td:before{position:absolute;top:0;left:0;width:35%;padding:11px 15px;white-space:nowrap;text-align:left;color:#333333;content:attr(data-title)} +.control-list table tbody tr:hover td:before{color:white !important} +.control-list table tbody tr.active td{border-left:3px solid #ff9933} +.control-list table tbody tr.active td:before{color:#000000} +.control-list table tbody tr td.list-setup{display:none} +.control-list table tfoot tr td{border:none} +.control-list table .list-checkbox{width:100% !important;border-right:none !important;padding-left:16px !important} +} +.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent} +.dropdown{position:relative} +.dropdown-toggle:focus{outline:0} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#ffffff;border:1px solid #cccccc;border:1px solid #949ea6;border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box} +.dropdown-menu.pull-right{right:0;left:auto} +.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5} +.dropdown-menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#39454a;white-space:nowrap} +.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5} +.dropdown-menu > .active > a,.dropdown-menu > .active > a:hover,.dropdown-menu > .active > a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#5fb6f5} +.dropdown-menu > .disabled > a,.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{color:#999999} +.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed} +.open > .dropdown-menu{display:block} +.open > a{outline:0} +.dropdown-menu-right{left:auto;right:0} +.dropdown-menu-left{left:0;right:auto} +.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999999} +.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990} +.pull-right > .dropdown-menu{right:0;left:auto} +.dropup .caret{border-top:0;border-bottom:4px solid;content:""} +.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px} +.dropdown-menu{padding:0;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none} +.dropdown-menu .dropdown-container > ul{border:1px solid #949ea6;background-color:#ffffff;border-radius:2px;padding:0;list-style:none;position:relative;margin-top:7px} +.dropdown-menu .dropdown-container > ul:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-bottom:8px solid #ffffff;position:absolute;left:15px;top:-8px;z-index:101} +.dropdown-menu .dropdown-container > ul:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:9px solid #949ea6;position:absolute;left:14px;top:-9px;z-index:100} +.dropdown-menu .dropdown-container > ul li a{outline:none;padding:8px 15px;font-size:13px;display:block;color:#39454a;position:relative} +.dropdown-menu .dropdown-container > ul li a:hover,.dropdown-menu .dropdown-container > ul li a:focus{text-decoration:none;color:#ffffff;background-color:#2f99da} +.dropdown-menu .dropdown-container > ul li a:hover[class^="oc-icon-"]:before,.dropdown-menu .dropdown-container > ul li a:focus[class^="oc-icon-"]:before,.dropdown-menu .dropdown-container > ul li a:hover[class*=" oc-icon-"]:before,.dropdown-menu .dropdown-container > ul li a:focus[class*=" oc-icon-"]:before{color:white} +.dropdown-menu .dropdown-container > ul li a[class^="oc-icon-"],.dropdown-menu .dropdown-container > ul li a[class*=" oc-icon-"]{padding-left:30px} +.dropdown-menu .dropdown-container > ul li a[class^="oc-icon-"]:before,.dropdown-menu .dropdown-container > ul li a[class*=" oc-icon-"]:before{position:absolute;font-size:14px;left:9px;top:7px;color:#949ea6} +.dropdown-menu .dropdown-container > ul li.first-item a:hover:after,.dropdown-menu .dropdown-container > ul li.first-item a:focus:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-bottom:8px solid #2f99da;position:absolute;left:15px;top:-8px;z-index:102} +.dropdown-menu .dropdown-container > ul li.dropdown-title{display:none} +.dropdown-menu .dropdown-container > ul li.divider{margin:0} +.dropdown-menu.pull-right .dropdown-container > ul:after{left:auto;right:15px} +.dropdown-menu.pull-right .dropdown-container > ul:before{left:auto;right:14px} +.dropdown-menu.pull-right .dropdown-container > ul li.first-item a:hover:after,.dropdown-menu.pull-right .dropdown-container > ul li.first-item a:focus:after{left:auto;right:15px} +.dropdown-menu.top .dropdown-container > ul:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #ffffff;border-bottom-width:0;top:auto;bottom:-8px} +.dropdown-menu.top .dropdown-container > ul:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #949ea6;border-bottom-width:0;top:auto;bottom:-9px} +.touch .dropdown-menu .dropdown-container > ul li a:hover{color:#39454a;background:white} +.touch .dropdown-menu .dropdown-container > ul li a:hover:before{position:absolute;font-size:14px;left:9px;top:7px;color:#949ea6} +.touch .dropdown-menu .dropdown-container > ul li.first-item a:hover:after{content:'';display:none} +body.dropdown-open .dropdown-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:300} +@media (max-width:480px){body.dropdown-open{overflow:hidden} +body.dropdown-open .dropdown-overlay{background:rgba(0,0,0,0.4)} +body.dropdown-open .dropdown-menu{overflow:auto;overflow-y:scroll;position:fixed !important;margin:0 !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:1040} +body.dropdown-open .dropdown-menu .dropdown-container{padding:10px;height:100%} +body.dropdown-open .dropdown-menu .dropdown-container ul{min-height:100%;margin-top:0} +body.dropdown-open .dropdown-menu .dropdown-container ul:before,body.dropdown-open .dropdown-menu .dropdown-container ul:after{display:none} +body.dropdown-open .dropdown-menu .dropdown-container ul li.dropdown-title{display:block;padding:8px 15px;border-bottom:1px solid #c9c9c9;color:#39454a;position:relative;cursor:pointer;font-weight:600} +body.dropdown-open .dropdown-menu .dropdown-container ul li.dropdown-title:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f00d";position:absolute;top:7px;right:13px;opacity:0.3;filter:alpha(opacity=30)} +body.dropdown-open .dropdown-menu .dropdown-container ul li.first-item a:hover:after,body.dropdown-open .dropdown-menu .dropdown-container ul li.first-item :focus:after{content:'';display:none} +} +div.control-popover{position:absolute;background-clip:content-box;left:0;top:0;z-index:570;visibility:hidden} +div.control-popover.in,div.control-popover.fade{visibility:visible} +div.control-popover.fade > div{opacity:0;filter:alpha(opacity=0);-webkit-transition:all 0.3s,width 0s;transition:all 0.3s,width 0s;-webkit-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7)} +div.control-popover.fade.in > div{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +div.control-popover > div{position:relative;background:#ffffff;-webkit-box-shadow:2px 2px 2px rgba(0,0,0,0.05);box-shadow:2px 2px 2px rgba(0,0,0,0.05);border-top-right-radius:5px;border-top-left-radius:5px;border-bottom-right-radius:2px;border-bottom-left-radius:2px} +div.control-popover > div:after,div.control-popover > div:before{position:absolute} +div.control-popover > div:after{z-index:601} +div.control-popover > div:before{z-index:600} +div.control-popover.placement-bottom > div{border:1px solid #949ea6} +div.control-popover.placement-bottom > div:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-bottom:8px solid #ffffff;left:15px;top:-8px} +div.control-popover.placement-bottom > div:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:9px solid #949ea6;left:14px;top:-9px} +div.control-popover.placement-top > div:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #ffffff;border-bottom-width:0;left:15px;bottom:-8px} +div.control-popover.placement-top > div:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #949ea6;border-bottom-width:0;left:14px;bottom:-9px} +div.control-popover.placement-left > div:after{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-left:8px solid #ffffff;right:-8px;top:7px} +div.control-popover.placement-left > div:before{content:'';display:block;width:0;height:0;border-top:8.5px solid transparent;border-bottom:8.5px solid transparent;border-left:9px solid #949ea6;right:-9px;top:6px} +div.control-popover.placement-right > div:after{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-right:8px solid #ffffff;left:-8px;top:7px} +div.control-popover.placement-right > div:before{content:'';display:block;width:0;height:0;border-top:8.5px solid transparent;border-bottom:8.5px solid transparent;border-right:9px solid #949ea6;left:-9px;top:6px} +div.control-popover div.popover-body{padding:15px} +div.control-popover div.popover-body.form-container{padding-bottom:0} +div.control-popover div.popover-footer{padding:0 20px 20px 20px} +div.control-popover .popover-head{background:#d35400;padding:14px 16px;position:relative;color:#ffffff;border-top-right-radius:2px;border-top-left-radius:2px} +div.control-popover .popover-head:before{z-index:602;position:absolute} +div.control-popover .popover-head h3{font-size:14px;font-weight:600;margin-top:0;margin-bottom:0;padding-right:15px;line-height:130%} +div.control-popover .popover-head p{font-size:13px;font-weight:100;margin:10px 0 0 0} +div.control-popover .popover-head .close{float:none;position:absolute;right:11px;top:12px;color:#ffffff;outline:none} +div.control-popover .popover-head .close:hover{opacity:1;filter:alpha(opacity=100)} +div.control-popover.placement-bottom .popover-head:before{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-bottom:8px solid #d35400;left:15px;top:-8px} +div.control-popover.placement-left .popover-head:before{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-left:8px solid #d35400;right:-8px;top:7px} +div.control-popover.placement-right .popover-head:before{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-right:8px solid #d35400;left:-8px;top:7px} +div.control-popover.popover-danger > div{color:#fff;background-color:#ab2a1c} +div.control-popover.popover-danger.placement-bottom > div:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-bottom:8px solid #ab2a1c} +div.control-popover.popover-danger.placement-top > div:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #ab2a1c;border-bottom-width:0} +div.control-popover.popover-danger.placement-left > div:after{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-left:8px solid #ab2a1c} +div.control-popover.popover-danger.placement-right > div:after{content:'';display:block;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-right:8px solid #ab2a1c} +div.control-popover.popover-danger .popover-head{background-color:#ab2a1c} +.popover-highlight{position:relative;z-index:562 !important} +.popover-highlight:hover,.popover-highlight:active,.popover-highlight:focus{z-index:562 !important} +div.popover-overlay{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:560} +@media (max-width:480px){body.popover-open{overflow:hidden} +body.popover-open .control-popover{overflow:auto;overflow-y:scroll;position:fixed;margin:0;padding:10px;width:100% !important;z-index:609;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important} +body.popover-open .control-popover > div{padding:0;min-height:100%;-webkit-box-shadow:none;box-shadow:none} +body.popover-open .control-popover > div:before,body.popover-open .control-popover > div:after{display:none} +body.popover-open .control-popover .popover-head:before{display:none} +} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)} +.tooltip.in{opacity:0.9;filter:alpha(opacity=90)} +.tooltip.top{margin-top:-3px;padding:5px 0} +.tooltip.right{margin-left:3px;padding:0 5px} +.tooltip.bottom{margin-top:3px;padding:5px 0} +.tooltip.left{margin-left:-3px;padding:0 5px} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#34495e;border-radius:2px} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#34495e} +.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#34495e} +.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#34495e} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#34495e} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#34495e} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#34495e} +.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#34495e} +.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#34495e} +.inspector-fields{min-width:220px;border-collapse:collapse;width:100%;table-layout:fixed;border-bottom-right-radius:2px;border-bottom-left-radius:2px} +.inspector-fields td,.inspector-fields th{padding:5px 12px;color:#333333;font-size:12px;width:50%;border-bottom:1px solid #c8cccd;text-align:left} +.inspector-fields tr:last-child td,.inspector-fields tr:last-child th{border-bottom:none} +.inspector-fields tr:last-child td,.inspector-fields tr:last-child td input[type=text]{-webkit-border-radius:0 0 2px 0;-moz-border-radius:0 0 2px 0;border-radius:0 0 2px 0} +.inspector-fields tr.group{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.inspector-fields tr.group th{background:#e0e4e5;font-weight:600;cursor:pointer} +.inspector-fields tr.collapsed{display:none} +.inspector-fields tr.expanded{display:table-row} +.inspector-fields.has-groups th{padding-left:20px} +.inspector-fields.has-groups tr.grouped th{padding-left:35px} +.inspector-fields td{font-weight:300;border-left:1px solid #f2f2f2;text-overflow:ellipsis;white-space:nowrap;overflow:hidden} +.inspector-fields td.text input[type=text]{background:transparent} +.inspector-fields td.text input[type=text]::-webkit-input-placeholder{font-weight:normal !important;color:#b5babd} +.inspector-fields td.text input[type=text]:-moz-placeholder{font-weight:normal !important;color:#b5babd} +.inspector-fields td.text input[type=text]::-moz-placeholder{font-weight:normal !important;color:#b5babd} +.inspector-fields td.text input[type=text]:-ms-input-placeholder{font-weight:normal !important;color:#b5babd} +.inspector-fields td.text.active{background:#ffffff;border-left:1px solid #c8cccd} +.inspector-fields td.dropdown{padding:0 !important} +.inspector-fields td select{width:90%} +.inspector-fields td div.external-param-editor-container{position:relative;padding-right:30px} +.inspector-fields td div.external-param-editor-container div.external-editor{bottom:0;margin:-5px -12px;right:30px;left:auto;top:0;position:absolute;-webkit-transition:left 0.2s;transition:left 0.2s;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);will-change:transform} +.inspector-fields td div.external-param-editor-container div.external-editor div.controls{position:absolute;width:100%;height:100%;left:0;top:0} +.inspector-fields td div.external-param-editor-container div.external-editor div.controls a{position:absolute;left:0;top:0;display:inline-block;height:100%;width:30px;color:#2b3e50;outline:none} +.inspector-fields td div.external-param-editor-container div.external-editor div.controls a i{display:inline-block;position:relative;left:10px;top:4px;font-size:15px} +.inspector-fields td div.external-param-editor-container div.external-editor div.controls input{position:absolute;display:block;border:none;width:100%;height:100%;left:0;top:0;padding-left:30px;padding-right:12px;background:transparent} +.inspector-fields td div.external-param-editor-container.editor-visible div.external-editor div.controls input{background:#f2f2f2} +.inspector-fields td.active div.external-param-editor-container div.external-editor div.controls input{background:white} +.inspector-fields td.dropdown div.external-param-editor-container div.external-editor{height:100%;margin:0;bottom:auto} +.inspector-fields th{font-weight:500} +.inspector-fields th > div{position:relative} +.inspector-fields th > div > div{white-space:nowrap;padding-right:10px;text-overflow:ellipsis;overflow:hidden;width:100%} +.inspector-fields th > div > div span.info{display:inline-block;position:absolute;right:-1px;top:3px;font-size:14px;width:10px;height:12px;line-height:80%;opacity:0.4;filter:alpha(opacity=40)} +.inspector-fields th > div > div span.info:before{margin-left:3px} +.inspector-fields th > div > div span.info:hover{opacity:1;filter:alpha(opacity=100)} +.inspector-fields th > div a.expandControl{display:block;position:absolute;width:12px;height:12px;left:-15px;top:2px;text-indent:-100000em} +.inspector-fields th > div a.expandControl span{position:absolute;display:inline-block;left:0;top:0;width:12px;height:12px} +.inspector-fields th > div a.expandControl span:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105";position:absolute;left:4px;top:-2px;width:12px;height:12px;font-size:13px;color:#333333;text-indent:0} +.inspector-fields th > div a.expandControl.expanded span:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f107";left:2px} +.inspector-fields input[type=text]{display:block;width:100%;border:none;outline:none} +.inspector-fields div.custom-checkbox{margin-top:0;margin-bottom:0} +.inspector-fields div.custom-checkbox label:before{top:-12px} +.inspector-fields .select2-container{width:100% !important} +.inspector-fields .select2-container .select2-selection{background:transparent;height:30px;line-height:29px;padding:0 3px 0 12px;-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important;border:none !important;font-size:12px} +.inspector-fields .select2-container .select2-selection.select2-default{font-weight:normal !important} +.inspector-fields .select2-container .loading-indicator > span{top:15px} +.inspector-fields .select2-container.select2-container--open{-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important;border:none !important} +.inspector-fields .select2-container.select2-container--open .select2-selection{background:white} +.inspector-fields tr.changed td{font-weight:600} +.inspector-fields tr.changed td input[type=text]{font-weight:600} +.inspector-fields tr.changed td .select2-container .select2-selection{font-weight:600} +div.control-popover.control-inspector > div{background:#f2f2f2;border:none;-webkit-box-shadow:none;box-shadow:none} +div.control-popover.control-inspector > div:before,div.control-popover.control-inspector > div:after{display:none} +div.control-popover.hero .inspector-fields th,div.control-popover.hero .inspector-fields td{padding:9px 12px;font-weight:600 !important;font-size:13px} +div.control-popover.hero .inspector-fields td{font-weight:400 !important} +div.control-popover.hero .inspector-fields div.custom-select.select2-container .select2-selection{height:36px;line-height:36px} +.select2-dropdown.ocInspectorDropdown{font-size:12px;-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important;border:none !important} +.select2-dropdown.ocInspectorDropdown > .select2-results > .select2-results__options{font-size:12px} +.select2-dropdown.ocInspectorDropdown > .select2-results > li > div{padding:5px 12px 5px} +.select2-dropdown.ocInspectorDropdown > .select2-results li.select2-no-results{padding:5px 12px 5px} +.select2-dropdown.ocInspectorDropdown .select2-search{min-height:26px;position:relative} +.select2-dropdown.ocInspectorDropdown .select2-search:after{position:absolute;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f002";right:10px;top:10px;color:#95a5a6} +.select2-dropdown.ocInspectorDropdown .select2-search input.select2-input{min-height:26px;background:transparent !important;padding-left:12px;padding-right:12px} +@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0} +} +@keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0} +} +.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)} +.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#5fb6f5;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease} +.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite} +.progress-bar-success{background-color:#5cb85c} +.progress-bar-info{background-color:#5bc0de} +.progress-bar-warning{background-color:#f0ad4e} +.progress-bar-danger{background-color:#d9534f} +div.progress{height:9px;-webkit-box-shadow:none;box-shadow:none;background:#d9dee0} +.progress-bar{line-height:9px;-webkit-box-shadow:none;box-shadow:none;background-color:#2f99da} +.progress-bar.progress-bar-success{background-color:#31ac5f} +.control-pagination{font-size:0} +.control-pagination .page-iteration{margin-right:4px;font-size:12px;color:#98a7a8} +.control-pagination .page-next,.control-pagination .page-back{display:inline-block;padding:10px 15px} +.control-pagination .page-next:before,.control-pagination .page-back:before{color:#666666;font-size:19px;line-height:19px;display:inline-block;vertical-align:baseline;position:relative;top:2px} +.control-pagination a.page-next:hover:before,.control-pagination a.page-back:hover:before{color:#1795f1} +.control-pagination span.page-next:before,.control-pagination span.page-back:before{color:#b6b6b6} +.control-pagination .page-next{padding-left:6px} +.control-pagination .page-back{padding-right:6px} +.control-pagination .page-next:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +.control-pagination .page-back:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f104"} +.control-filter{padding:0 10px;font-size:13px;color:#949ea6;background-color:#f3f3f3;border-top:1px solid #949ea6;border-bottom:1px solid #949ea6} +.control-filter a{text-decoration:none;color:#949ea6} +.control-filter > .filter-scope{display:inline-block;padding:15px} +.control-filter > .filter-scope .filter-setting{display:inline-block;-webkit-transition:color 0.6s;transition:color 0.6s} +.control-filter > .filter-scope:after{font-size:14px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f107"} +.control-filter > .filter-scope.active .filter-setting{padding-left:5px;padding-right:5px;color:#FFF;background-color:#cc3300;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:color 1s,background-color 1s;transition:color 1s,background-color 1s} +.control-filter > .filter-scope.checkbox{padding-left:35px} +.control-filter > .filter-scope.checkbox,.control-filter > .filter-scope.checkbox label{margin-bottom:0} +.control-filter > .filter-scope.checkbox:after{content:''} +.control-filter > .filter-scope:hover{color:#000} +.control-filter > .filter-scope:hover .filter-label{color:#949ea6} +.control-filter > .filter-scope:hover.active .filter-setting{background-color:#b32d00} +.control-filter-popover{min-width:275px} +.control-filter-popover .filter-search{min-height:36px} +.control-filter-popover .filter-search input{min-height:36px;border:none;border-bottom:1px solid #949ea6;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:transparent} +.control-filter-popover .filter-search .form-control.icon.search{background-position:right -81px} +.control-filter-popover .filter-search .close{display:none} +.control-filter-popover .filter-items,.control-filter-popover .filter-active-items{color:#949ea6;font-size:13px} +.control-filter-popover .filter-items ul,.control-filter-popover .filter-active-items ul,.control-filter-popover .filter-items li,.control-filter-popover .filter-active-items li{list-style-type:none;margin:0;padding:0} +.control-filter-popover .filter-items li,.control-filter-popover .filter-active-items li{-webkit-transition:color 0.6s,background-color 0.3s;transition:color 0.6s,background-color 0.3s} +.control-filter-popover .filter-items a,.control-filter-popover .filter-active-items a{text-decoration:none;color:#949ea6;display:block;padding:7px 15px} +.control-filter-popover .filter-items a:before,.control-filter-popover .filter-active-items a:before{margin-right:8px;display:inline-block;vertical-align:baseline} +.control-filter-popover .filter-items a:hover,.control-filter-popover .filter-active-items a:hover{background-color:#4da7e8;color:#FFFFFF} +.control-filter-popover .filter-items{height:100px;overflow:auto;background-color:#fafafa;border-bottom:1px solid #949ea6} +.control-filter-popover .filter-items a:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f067"} +.control-filter-popover .filter-items li.loading{padding:7px} +.control-filter-popover .filter-items li.loading > span{display:block;height:20px;width:20px;background-image:url('../../../system/assets/ui/images/loader-transparent.svg');background-size:20px 20px;background-position:50% 50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite} +.control-filter-popover .filter-items li.animate-enter{-webkit-animation:fadeInUp 0.5s;animation:fadeInUp 0.5s} +.control-filter-popover .filter-active-items a:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f00d"} +.control-filter-popover .filter-active-items li.animate-enter{-webkit-animation:fadeInDown 0.5s;animation:fadeInDown 0.5s} +@media (max-width:480px){.control-filter-popover .filter-items{height:200px} +.control-filter-popover .filter-search input{padding-left:36px;padding-right:36px} +.control-filter-popover .filter-search .form-control.icon.search{background-position:0 -81px} +.control-filter-popover .filter-search .close{width:30px;display:block;position:absolute;top:5px;right:5px;font-size:28px;z-index:2} +} +.modal-open{overflow:hidden} +.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0} +.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out} +.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)} +.modal-dialog{position:relative;width:auto;margin:10px} +.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000} +.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)} +.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)} +.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px} +.modal-header .close{margin-top:-2px} +.modal-title{margin:0;line-height:1.42857143} +.modal-body{position:relative;padding:20px} +.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5} +.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0} +.modal-footer .btn-group .btn + .btn{margin-left:-1px} +.modal-footer .btn-block + .btn-block{margin-left:0} +@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto} +.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)} +.modal-sm{width:300px} +} +@media (min-width:992px){.modal-lg{width:900px} +} +.modal-content{-webkit-box-shadow:none;box-shadow:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:none;background:#f9f9f9} +.modal-content .close{color:#fff} +.modal-header{background:#d35400;color:#ecf0f1;border:none} +.modal-header h4{font-weight:600;font-size:16px} +.modal-footer{background:transparent;border:none;margin-top:0;padding:0 20px 20px 20px} +.modal-body{padding-bottom:0} +.modal-body > p:last-child{margin-bottom:20px} +.modal-dialog.size-adaptive{width:100%;padding-right:50px;padding-left:50px} +.modal-dialog.adaptive-height{height:100%;min-height:600px;margin-top:0;margin-bottom:0;padding-top:50px;padding-bottom:50px} +.modal-dialog.adaptive-height .modal-content{height:100%} +@media (min-width:768px){.modal-dialog.size-tiny{width:300px} +.modal-dialog.size-small{width:400px} +} +@media (min-width:992px){.modal-dialog.size-large{width:750px} +.modal-dialog.size-huge{width:900px} +.modal-dialog.size-giant{width:982px} +} +@media (max-width:768px){.modal-dialog.size-adaptive{width:auto;padding:5px 0;margin:0} +} +.control-popup.fade .modal-dialog{opacity:0;filter:alpha(opacity=0);-webkit-transition:all 0.3s,width 0s;transition:all 0.3s,width 0s;-webkit-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7)} +.control-popup.fade.in .modal-dialog{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000000;background-color:rgba(0,0,0,0.2);opacity:1;filter:alpha(opacity=100)} +.popup-backdrop .popup-loading-indicator{display:block;width:100px;height:100px;position:absolute;top:130px;left:50%;margin-left:-50px;-webkit-transition:all 0.3s,width 0s;transition:all 0.3s,width 0s;-webkit-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7);opacity:0;filter:alpha(opacity=0)} +.popup-backdrop .popup-loading-indicator:after{content:' ';display:block;background-size:50px 50px;background-repeat:no-repeat;background-position:50% 50%;background-image:url('../../../system/assets/ui/images/loader-transparent.svg');-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;width:50px;height:50px;margin:25px 0 0 25px} +.popup-backdrop.loading .popup-loading-indicator{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +.mac body.modal-open{margin-right:0} +.nav{margin-bottom:0;padding-left:0;list-style:none} +.nav > li{position:relative;display:block} +.nav > li > a{position:relative;display:block;padding:10px 15px} +.nav > li > a:hover,.nav > li > a:focus{text-decoration:none;background-color:#eeeeee} +.nav > li.disabled > a{color:#999999} +.nav > li.disabled > a:hover,.nav > li.disabled > a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed} +.nav .open > a,.nav .open > a:hover,.nav .open > a:focus{background-color:#eeeeee;border-color:#1795f1} +.nav-tabs{border-bottom:1px solid #dddddd} +.nav-tabs > li{float:left;margin-bottom:-1px} +.nav-tabs > li > a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0} +.nav-tabs > li > a:hover{border-color:#eeeeee #eeeeee #dddddd} +.nav-tabs > li.active > a,.nav-tabs > li.active > a:hover,.nav-tabs > li.active > a:focus{color:#555555;background-color:#f9f9f9;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default} +.nav-tabs.nav-justified{width:100%;border-bottom:0} +.nav-tabs.nav-justified > li{float:none} +.nav-tabs.nav-justified > li > a{text-align:center;margin-bottom:5px} +.nav-tabs.nav-justified > .dropdown .dropdown-menu{top:auto;left:auto} +@media (min-width:768px){.nav-tabs.nav-justified > li{display:table-cell;width:1%} +.nav-tabs.nav-justified > li > a{margin-bottom:0} +} +.nav-tabs.nav-justified > li > a{margin-right:0;border-radius:2px} +.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border:1px solid #dddddd} +@media (min-width:768px){.nav-tabs.nav-justified > li > a{border-bottom:1px solid #dddddd;border-radius:2px 2px 0 0} +.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus{border-bottom-color:#f9f9f9} +} +.nav-pills > li{float:left} +.nav-pills > li > a{border-radius:2px} +.nav-pills > li + li{margin-left:2px} +.nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus{color:#ffffff;background-color:#5fb6f5} +.nav-stacked > li{float:none} +.nav-stacked > li + li{margin-top:2px;margin-left:0} +.nav-justified{width:100%} +.nav-justified > li{float:none} +.nav-justified > li > a{text-align:center;margin-bottom:5px} +.nav-justified > .dropdown .dropdown-menu{top:auto;left:auto} +@media (min-width:768px){.nav-justified > li{display:table-cell;width:1%} +.nav-justified > li > a{margin-bottom:0} +} +.nav-tabs-justified{border-bottom:0} +.nav-tabs-justified > li > a{margin-right:0;border-radius:2px} +.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-justified > .active > a:focus{border:1px solid #dddddd} +@media (min-width:768px){.nav-tabs-justified > li > a{border-bottom:1px solid #dddddd;border-radius:2px 2px 0 0} +.nav-tabs-justified > .active > a,.nav-tabs-justified > .active > a:hover,.nav-tabs-justified > .active > a:focus{border-bottom-color:#f9f9f9} +} +.tab-content > .tab-pane{display:none} +.tab-content > .active{display:block} +.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0} +.control-tabs{position:relative;margin-bottom:20px} +.control-tabs:last-child{margin-bottom:0} +.control-tabs:after,.control-tabs:before{display:none;position:absolute;top:50%;margin-top:-7px;height:9px;font-size:10px;color:#bbbbbb} +.control-tabs:before{left:-6px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f104"} +.control-tabs:after{right:-8px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f105"} +.control-tabs.scroll-before:before{display:block} +.control-tabs.scroll-after:after{display:block} +.control-tabs.scroll-active-before:before{color:#5fb6f5} +.control-tabs.scroll-active-after:after{color:#5fb6f5} +.control-tabs:before,.control-tabs:after{top:5px;margin-top:0} +.control-tabs > ul.nav-tabs,.control-tabs > div > ul.nav-tabs,.control-tabs > div > div > ul.nav-tabs{white-space:nowrap;font-size:0;overflow:hidden;border-bottom:none} +.control-tabs > ul.nav-tabs > li,.control-tabs > div > ul.nav-tabs > li,.control-tabs > div > div > ul.nav-tabs > li{font-size:15px;float:none;display:inline-block;margin-right:20px;position:relative} +.control-tabs > ul.nav-tabs > li:last-child,.control-tabs > div > ul.nav-tabs > li:last-child,.control-tabs > div > div > ul.nav-tabs > li:last-child{margin-right:0} +.control-tabs > ul.nav-tabs > li a,.control-tabs > div > ul.nav-tabs > li a,.control-tabs > div > div > ul.nav-tabs > li a{border-left:none !important;border-top:none !important;border-right:none !important;padding:0 0 10px 0;color:#cccccc;background:#f9f9f9;font-weight:400;overflow:hidden} +.control-tabs > ul.nav-tabs > li a:hover,.control-tabs > div > ul.nav-tabs > li a:hover,.control-tabs > div > div > ul.nav-tabs > li a:hover{background-color:transparent;border-bottom-color:transparent} +.control-tabs > ul.nav-tabs > li a:before,.control-tabs > div > ul.nav-tabs > li a:before,.control-tabs > div > div > ul.nav-tabs > li a:before{font-size:14px} +.control-tabs > ul.nav-tabs > li a > span.title > span,.control-tabs > div > ul.nav-tabs > li a > span.title > span,.control-tabs > div > div > ul.nav-tabs > li a > span.title > span{max-width:150px;height:16px;margin-bottom:-4px;overflow:hidden;text-overflow:ellipsis;display:inline-block} +.control-tabs > ul.nav-tabs > li span.tab-close,.control-tabs > div > ul.nav-tabs > li span.tab-close,.control-tabs > div > div > ul.nav-tabs > li span.tab-close{display:none} +.control-tabs > ul.nav-tabs > li.active a,.control-tabs > div > ul.nav-tabs > li.active a,.control-tabs > div > div > ul.nav-tabs > li.active a{color:#405261} +.control-tabs > ul.nav-tabs > li.active:after,.control-tabs > div > ul.nav-tabs > li.active:after,.control-tabs > div > div > ul.nav-tabs > li.active:after{width:100%;height:3px;bottom:0;background:#5fb6f5} +.control-tabs > div.tab-content > div.tab-pane{padding:20px 0 0 0;display:none} +.control-tabs > div.tab-content > div.tab-pane:before,.control-tabs > div.tab-content > div.tab-pane:after{content:" ";display:table} +.control-tabs > div.tab-content > div.tab-pane:after{clear:both} +.control-tabs > div.tab-content > div.tab-pane:before,.control-tabs > div.tab-content > div.tab-pane:after{content:" ";display:table} +.control-tabs > div.tab-content > div.tab-pane:after{clear:both} +.control-tabs > div.tab-content > div.tab-pane.active{display:block} +.control-tabs > div.tab-content > div.tab-pane.active.layout-cell{display:table-cell} +.control-tabs > div.tab-content > div.tab-pane.pane-compact{padding:0} +.control-tabs > div.tab-content > div.tab-pane.pane-padded{padding:20px 20px 0 20px} +.control-tabs[data-closable] > ul.nav-tabs > li,.control-tabs[data-closable] > div > ul.nav-tabs > li,.control-tabs[data-closable] > div > div > ul.nav-tabs > li{margin-right:5px} +.control-tabs[data-closable] > ul.nav-tabs > li a,.control-tabs[data-closable] > div > ul.nav-tabs > li a,.control-tabs[data-closable] > div > div > ul.nav-tabs > li a{padding-left:20px !important;padding-right:0 !important} +.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close{display:block;position:absolute;width:20px;height:20px;top:5px;left:-5px;text-align:right;font-size:12px;color:#cccccc !important;cursor:pointer} +.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close i,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close i{display:inline-block;z-index:101;top:-7px;right:5px;position:relative} +.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close:hover i{color:#d9534f} +.control-tabs[data-closable] > ul.nav-tabs > li.active span.close,.control-tabs[data-closable] > div > ul.nav-tabs > li.active span.close,.control-tabs[data-closable] > div > div > ul.nav-tabs > li.active span.close{color:#cccccc} +.control-tabs[data-closable] > ul.nav-tabs > li[data-modified] span.tab-close i,.control-tabs[data-closable] > div > ul.nav-tabs > li[data-modified] span.tab-close i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li[data-modified] span.tab-close i{top:-4px} +.control-tabs[data-closable] > ul.nav-tabs > li[data-modified] span.tab-close i:before,.control-tabs[data-closable] > div > ul.nav-tabs > li[data-modified] span.tab-close i:before,.control-tabs[data-closable] > div > div > ul.nav-tabs > li[data-modified] span.tab-close i:before{content:"\f111";font-size:9px} +.control-tabs.master > ul.nav-tabs > li a,.control-tabs.master-tabs > ul.nav-tabs > li a,.control-tabs.master > div > ul.nav-tabs > li a,.control-tabs.master-tabs > div > ul.nav-tabs > li a,.control-tabs.master > div > div > ul.nav-tabs > li a,.control-tabs.master-tabs > div > div > ul.nav-tabs > li a{font-size:15px;border-bottom:transparent 4px solid;position:relative;z-index:101;line-height:100%} +.control-tabs.master > ul.nav-tabs > li.active a,.control-tabs.master-tabs > ul.nav-tabs > li.active a,.control-tabs.master > div > ul.nav-tabs > li.active a,.control-tabs.master-tabs > div > ul.nav-tabs > li.active a,.control-tabs.master > div > div > ul.nav-tabs > li.active a,.control-tabs.master-tabs > div > div > ul.nav-tabs > li.active a{border-bottom:#5fb6f5 4px solid} +.control-tabs.primary,.control-tabs.primary-tabs{margin-bottom:5px} +.control-tabs.primary > ul.nav-tabs,.control-tabs.primary-tabs > ul.nav-tabs,.control-tabs.primary > div > ul.nav-tabs,.control-tabs.primary-tabs > div > ul.nav-tabs,.control-tabs.primary > div > div > ul.nav-tabs,.control-tabs.primary-tabs > div > div > ul.nav-tabs{position:relative;margin-left:0;margin-right:0} +.control-tabs.primary > ul.nav-tabs:before,.control-tabs.primary-tabs > ul.nav-tabs:before,.control-tabs.primary > div > ul.nav-tabs:before,.control-tabs.primary-tabs > div > ul.nav-tabs:before,.control-tabs.primary > div > div > ul.nav-tabs:before,.control-tabs.primary-tabs > div > div > ul.nav-tabs:before{position:absolute;top:26px;height:1px;width:100%;content:' ';border-bottom:1px solid #d7d7d7} +.control-tabs.primary > ul.nav-tabs > li,.control-tabs.primary-tabs > ul.nav-tabs > li,.control-tabs.primary > div > ul.nav-tabs > li,.control-tabs.primary-tabs > div > ul.nav-tabs > li,.control-tabs.primary > div > div > ul.nav-tabs > li,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li{padding-right:10px;padding-left:11px;margin-right:0;margin-left:-30px;background:transparent} +.control-tabs.primary > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > ul.nav-tabs > li:first-child,.control-tabs.primary > div > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > div > ul.nav-tabs > li:first-child,.control-tabs.primary > div > div > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li:first-child{margin-left:0;padding-left:15px !important} +.control-tabs.primary > ul.nav-tabs > li a,.control-tabs.primary-tabs > ul.nav-tabs > li a,.control-tabs.primary > div > ul.nav-tabs > li a,.control-tabs.primary-tabs > div > ul.nav-tabs > li a,.control-tabs.primary > div > div > ul.nav-tabs > li a,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a{font-size:12px;padding-bottom:3px;padding:0 16px;margin:0;position:relative;z-index:101;background:transparent;overflow:visible} +.control-tabs.primary > ul.nav-tabs > li a > span.title,.control-tabs.primary-tabs > ul.nav-tabs > li a > span.title,.control-tabs.primary > div > ul.nav-tabs > li a > span.title,.control-tabs.primary-tabs > div > ul.nav-tabs > li a > span.title,.control-tabs.primary > div > div > ul.nav-tabs > li a > span.title,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a > span.title{position:relative;display:inline-block;padding:5px 5px 9px 5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #f0f0f0;z-index:100} +.control-tabs.primary > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > ul.nav-tabs > li a > span.title:before,.control-tabs.primary > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary > div > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > ul.nav-tabs > li a > span.title:after,.control-tabs.primary > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary > div > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a > span.title:after{content:' ';position:absolute;background:transparent url('../../../system/assets/ui/images/primary-tab-shape.png') no-repeat left -31px;width:16px;height:26px;display:block;top:-1px;z-index:100} +.control-tabs.primary > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > ul.nav-tabs > li a > span.title:before,.control-tabs.primary > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary > div > div > ul.nav-tabs > li a > span.title:before,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a > span.title:before{left:-16px} +.control-tabs.primary > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > ul.nav-tabs > li a > span.title:after,.control-tabs.primary > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary > div > div > ul.nav-tabs > li a > span.title:after,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li a > span.title:after{right:-16px;background-position:-61px -31px} +.control-tabs.primary > ul.nav-tabs > li:last-child,.control-tabs.primary-tabs > ul.nav-tabs > li:last-child,.control-tabs.primary > div > ul.nav-tabs > li:last-child,.control-tabs.primary-tabs > div > ul.nav-tabs > li:last-child,.control-tabs.primary > div > div > ul.nav-tabs > li:last-child,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li:last-child{background-image:none;margin-right:0;padding-right:5px} +.control-tabs.primary > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > ul.nav-tabs > li:first-child,.control-tabs.primary > div > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > div > ul.nav-tabs > li:first-child,.control-tabs.primary > div > div > ul.nav-tabs > li:first-child,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li:first-child{padding-left:0} +.control-tabs.primary > ul.nav-tabs > li.active a:before,.control-tabs.primary-tabs > ul.nav-tabs > li.active a:before,.control-tabs.primary > div > ul.nav-tabs > li.active a:before,.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a:before,.control-tabs.primary > div > div > ul.nav-tabs > li.active a:before,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li.active a:before{position:absolute;top:26px;height:1px;right:2px;left:0;content:' ';background-color:#f9f9f9} +.control-tabs.primary > ul.nav-tabs > li.active a,.control-tabs.primary-tabs > ul.nav-tabs > li.active a,.control-tabs.primary > div > ul.nav-tabs > li.active a,.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a,.control-tabs.primary > div > div > ul.nav-tabs > li.active a,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li.active a{z-index:107} +.control-tabs.primary > ul.nav-tabs > li.active a > span.title,.control-tabs.primary-tabs > ul.nav-tabs > li.active a > span.title,.control-tabs.primary > div > ul.nav-tabs > li.active a > span.title,.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a > span.title,.control-tabs.primary > div > div > ul.nav-tabs > li.active a > span.title,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li.active a > span.title{z-index:105;border-top-color:#d6d6d6} +.control-tabs.primary > ul.nav-tabs > li.active a > span.title:before,.control-tabs.primary-tabs > ul.nav-tabs > li.active a > span.title:before,.control-tabs.primary > div > ul.nav-tabs > li.active a > span.title:before,.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a > span.title:before,.control-tabs.primary > div > div > ul.nav-tabs > li.active a > span.title:before,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li.active a > span.title:before{background-position:left 0;z-index:107} +.control-tabs.primary > ul.nav-tabs > li.active a > span.title:after,.control-tabs.primary-tabs > ul.nav-tabs > li.active a > span.title:after,.control-tabs.primary > div > ul.nav-tabs > li.active a > span.title:after,.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a > span.title:after,.control-tabs.primary > div > div > ul.nav-tabs > li.active a > span.title:after,.control-tabs.primary-tabs > div > div > ul.nav-tabs > li.active a > span.title:after{background-position:-61px 0;z-index:107} +.control-tabs.primary.tabs-inset > ul.nav-tabs,.control-tabs.primary-tabs.tabs-inset > ul.nav-tabs,.control-tabs.primary.tabs-inset > div > ul.nav-tabs,.control-tabs.primary-tabs.tabs-inset > div > ul.nav-tabs,.control-tabs.primary.tabs-inset > div > div > ul.nav-tabs,.control-tabs.primary-tabs.tabs-inset > div > div > ul.nav-tabs{margin-left:-20px;margin-right:-20px} +.control-tabs.secondary > ul.nav-tabs > li,.control-tabs.secondary-tabs > ul.nav-tabs > li,.control-tabs.secondary > div > ul.nav-tabs > li,.control-tabs.secondary-tabs > div > ul.nav-tabs > li,.control-tabs.secondary > div > div > ul.nav-tabs > li,.control-tabs.secondary-tabs > div > div > ul.nav-tabs > li{padding-right:10px;margin-right:10px;border-right:1px solid #d7d7d7} +.control-tabs.secondary > ul.nav-tabs > li a,.control-tabs.secondary-tabs > ul.nav-tabs > li a,.control-tabs.secondary > div > ul.nav-tabs > li a,.control-tabs.secondary-tabs > div > ul.nav-tabs > li a,.control-tabs.secondary > div > div > ul.nav-tabs > li a,.control-tabs.secondary-tabs > div > div > ul.nav-tabs > li a{font-size:12px;font-weight:600;padding-bottom:0} +.control-tabs.secondary > ul.nav-tabs > li:last-child,.control-tabs.secondary-tabs > ul.nav-tabs > li:last-child,.control-tabs.secondary > div > ul.nav-tabs > li:last-child,.control-tabs.secondary-tabs > div > ul.nav-tabs > li:last-child,.control-tabs.secondary > div > div > ul.nav-tabs > li:last-child,.control-tabs.secondary-tabs > div > div > ul.nav-tabs > li:last-child{border-right:none;margin-right:0;padding-right:0} +.control-tabs.content-tabs > ul.nav-tabs{position:relative} +.control-tabs.content-tabs > ul.nav-tabs:before{content:' ';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#e3e5e7} +.control-tabs.content-tabs > ul.nav-tabs li{margin-right:0;border-top:1px solid #e3e5e7;border-right:1px solid #e3e5e7} +.control-tabs.content-tabs > ul.nav-tabs li a{font-size:12px;padding:17px 20px;margin:0;border:none;text-transform:uppercase;background:transparent} +.control-tabs.content-tabs > ul.nav-tabs li:first-child{border-left:1px solid #e3e5e7} +.control-tabs.content-tabs > ul.nav-tabs li:last-child{border-right:1px solid #e3e5e7} +.control-tabs.content-tabs > ul.nav-tabs li.active{background:#ffffff} +.control-tabs.content-tabs > ul.nav-tabs li.active a{font-weight:600} +.control-tabs.content-tabs > .tab-content > .tab-pane{padding-top:0} +.control-tabs.content-tabs > .tab-content > .tab-pane div.list-header,.control-tabs.content-tabs > .tab-content > .tab-pane div.padded-container,.control-tabs.content-tabs > .tab-content > .tab-pane div.toolbar-widget{background:#ffffff;padding-top:20px} +.control-tabs.content-tabs.tabs-inset > ul.nav-tabs,.control-tabs.content-tabs.tabs-inset > div > ul.nav-tabs,.control-tabs.content-tabs.tabs-inset > div > div > ul.nav-tabs{margin-left:-20px;margin-right:-20px} +.control-tabs.content-tabs.tabs-inset > ul.nav-tabs li:first-child,.control-tabs.content-tabs.tabs-inset > div > ul.nav-tabs li:first-child,.control-tabs.content-tabs.tabs-inset > div > div > ul.nav-tabs li:first-child{margin-left:20px} +.control-tabs.content-tabs.tabs-offset > ul.nav-tabs li:first-child{margin-left:20px} +.control-tabs.content-tabs.tabs-flush > ul.nav-tabs li{border-top:none} +.control-tabs.content-tabs.tabs-flush > ul.nav-tabs li:last-child{border-right:1px solid transparent} +.control-tabs.content-tabs.tabs-flush > ul.nav-tabs li:first-child{border-left:1px solid transparent} +.control-tabs.content-tabs.tabs-flush > ul.nav-tabs li.active:last-child{border-right:1px solid #e3e5e7} +.hide-tabs .control-tabs ul.nav-tabs{display:none} +.hide-tabs .control-tabs > div.tab-content > div.tab-pane{padding-top:0} +.form-sidebar .control-tabs.secondary > div > ul.nav-tabs > li a{background:transparent} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Light.eot');src:url('../font/OpenSans-Light.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Light.svg#open_sanslight') format('svg'),url('../font/OpenSans-Light.woff') format('woff'),url('../font/OpenSans-Light.ttf') format('truetype');font-style:normal;font-weight:300} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Regular.eot');src:url('../font/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Regular.svg#open_sansregular') format('svg'),url('../font/OpenSans-Regular.woff') format('woff'),url('../font/OpenSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Semibold.eot');src:url('../font/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Semibold.svg#open_sanssemibold') format('svg'),url('../font/OpenSans-Semibold.woff') format('woff'),url('../font/OpenSans-Semibold.ttf') format('truetype');font-style:normal;font-weight:600} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Bold.eot');src:url('../font/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Bold.svg#open_sansbold') format('svg'),url('../font/OpenSans-Bold.woff') format('woff'),url('../font/OpenSans-Bold.ttf') format('truetype');font-style:normal;font-weight:700} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-LightItalic.eot');src:url('../font/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-LightItalic.svg#open_sanslight_italic') format('svg'),url('../font/OpenSans-LightItalic.woff') format('woff'),url('../font/OpenSans-LightItalic.ttf') format('truetype');font-style:italic;font-weight:300} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Italic.eot');src:url('../font/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Italic.svg#open_sansitalic') format('svg'),url('../font/OpenSans-Italic.woff') format('woff'),url('../font/OpenSans-Italic.ttf') format('truetype');font-style:italic;font-weight:400} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-SemiboldItalic.eot');src:url('../font/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-SemiboldItalic.svg#open_sanssemibold_italic') format('svg'),url('../font/OpenSans-SemiboldItalic.woff') format('woff'),url('../font/OpenSans-SemiboldItalic.ttf') format('truetype');font-style:italic;font-weight:600} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Light.eot');src:url('../font/OpenSans-Light.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Light.woff') format('woff'),url('../font/OpenSans-Light.svg#open_sanslight') format('svg'),url('../font/OpenSans-Light.ttf') format('truetype');font-style:normal;font-weight:300} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Regular.eot');src:url('../font/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Regular.woff') format('woff'),url('../font/OpenSans-Regular.svg#open_sansregular') format('svg'),url('../font/OpenSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Semibold.eot');src:url('../font/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Semibold.woff') format('woff'),url('../font/OpenSans-Semibold.svg#open_sanssemibold') format('svg'),url('../font/OpenSans-Semibold.ttf') format('truetype');font-style:normal;font-weight:600} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Bold.eot');src:url('../font/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Bold.woff') format('woff'),url('../font/OpenSans-Bold.svg#open_sansbold') format('svg'),url('../font/OpenSans-Bold.ttf') format('truetype');font-style:normal;font-weight:700} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-LightItalic.eot');src:url('../font/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-LightItalic.woff') format('woff'),url('../font/OpenSans-LightItalic.svg#open_sanslight_italic') format('svg'),url('../font/OpenSans-LightItalic.ttf') format('truetype');font-style:italic;font-weight:300} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-Italic.eot');src:url('../font/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-Italic.woff') format('woff'),url('../font/OpenSans-Italic.svg#open_sansitalic') format('svg'),url('../font/OpenSans-Italic.ttf') format('truetype');font-style:italic;font-weight:400} +@font-face{font-family:'Open Sans';src:url('../font/OpenSans-SemiboldItalic.eot');src:url('../font/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'),url('../font/OpenSans-SemiboldItalic.woff') format('woff'),url('../font/OpenSans-SemiboldItalic.svg#open_sanssemibold_italic') format('svg'),url('../font/OpenSans-SemiboldItalic.ttf') format('truetype');font-style:italic;font-weight:600} +@-webkit-keyframes fadeIn{0%{opacity:0} +100%{opacity:1} +} +@keyframes fadeIn{0%{opacity:0} +100%{opacity:1} +} +.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn} +@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)} +100%{opacity:1;-webkit-transform:none;transform:none} +} +@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)} +100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none} +} +.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown} +@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)} +100%{opacity:1;-webkit-transform:none;transform:none} +} +@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)} +100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none} +} +.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft} +@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} +100%{opacity:1;-webkit-transform:none;transform:none} +} +@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} +100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none} +} +.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight} +@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)} +100%{opacity:1;-webkit-transform:none;transform:none} +} +@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)} +100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none} +} +.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp} +@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)} +100%{opacity:1;-webkit-transform:none;transform:none} +} +@-webkit-keyframes fadeOut{0%{opacity:1} +100%{opacity:0} +} +@keyframes fadeOut{0%{opacity:1} +100%{opacity:0} +} +.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut} +@-webkit-keyframes fadeOutDown{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)} +} +@keyframes fadeOutDown{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)} +} +.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown} +@-webkit-keyframes fadeOutLeft{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)} +} +@keyframes fadeOutLeft{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)} +} +.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft} +@-webkit-keyframes fadeOutRight{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} +} +@keyframes fadeOutRight{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} +} +.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight} +@-webkit-keyframes fadeOutUp{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)} +} +@keyframes fadeOutUp{0%{opacity:1} +100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)} +} +.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp} +body.drag *{cursor:drag !important;cursor:-webkit-grab !important;cursor:-moz-grab !important} +body.dragging,body.dragging *{cursor:move !important} +body.loading,body.loading *{cursor:wait !important} +body.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default !important} +html,body{height:100%; } +body{webkit-font-smoothing:antialiased;background:#f9f9f9} +#layout-canvas{min-height:100%;height:100%} +.control-tabs.primary-tabs > ul.nav-tabs,.control-tabs.primary-tabs > div > ul.nav-tabs,.control-tabs.primary-tabs > div > div > ul.nav-tabs{margin-left:-20px;margin-right:-20px} +.control-tabs.primary-tabs.tabs-no-inset > ul.nav-tabs,.control-tabs.primary-tabs.tabs-no-inset > div > ul.nav-tabs,.control-tabs.primary-tabs.tabs-no-inset > div > div > ul.nav-tabs{margin-left:0;margin-right:0} +.layout{display:table;table-layout:fixed;height:100%;width:100%} +.layout > .layout-row{display:table-row;vertical-align:top;height:100%} +.layout > .layout-row > .layout-cell{display:table-cell;vertical-align:top;height:100%} +.layout > .layout-row > .layout-cell.width-100{width:100px} +.layout > .layout-row > .layout-cell.width-120{width:120px} +.layout > .layout-row > .layout-cell.width-200{width:200px} +.layout > .layout-row > .layout-cell.width-300{width:300px} +.layout > .layout-row > .layout-cell.layout-container,.layout > .layout-row > .layout-cell .layout-container,.layout > .layout-row > .layout-cell.padded-container,.layout > .layout-row > .layout-cell .padded-container{padding:20px 20px 0 20px} +.layout > .layout-row > .layout-cell.layout-container .container-flush,.layout > .layout-row > .layout-cell .layout-container .container-flush,.layout > .layout-row > .layout-cell.padded-container .container-flush,.layout > .layout-row > .layout-cell .padded-container .container-flush{padding-top:0} +.layout > .layout-row > .layout-cell .layout-relative{position:relative;height:100%} +.layout > .layout-row > .layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout > .layout-row > .layout-cell.min-size{width:0} +.layout > .layout-row > .layout-cell.min-height{height:0} +.layout > .layout-row > .layout-cell.center{text-align:center} +.layout > .layout-row > .layout-cell.middle{vertical-align:middle} +.layout > .layout-row > .layout-cell.width-fix > form,.layout > .layout-row > .layout-cell.width-fix > div{display:inline-block} +.layout > .layout-row > .layout-cell.width-100{width:100px} +.layout > .layout-row > .layout-cell.width-120{width:120px} +.layout > .layout-row > .layout-cell.width-200{width:200px} +.layout > .layout-row > .layout-cell.width-300{width:300px} +.layout > .layout-row > .layout-cell.layout-container,.layout > .layout-row > .layout-cell .layout-container,.layout > .layout-row > .layout-cell.padded-container,.layout > .layout-row > .layout-cell .padded-container{padding:20px 20px 0 20px} +.layout > .layout-row > .layout-cell.layout-container .container-flush,.layout > .layout-row > .layout-cell .layout-container .container-flush,.layout > .layout-row > .layout-cell.padded-container .container-flush,.layout > .layout-row > .layout-cell .padded-container .container-flush{padding-top:0} +.layout > .layout-row > .layout-cell .layout-relative{position:relative;height:100%} +.layout > .layout-row > .layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout > .layout-row > .layout-cell.min-size{width:0} +.layout > .layout-row > .layout-cell.min-height{height:0} +.layout > .layout-row > .layout-cell.center{text-align:center} +.layout > .layout-row > .layout-cell.middle{vertical-align:middle} +.layout > .layout-row > .layout-cell.width-fix > form,.layout > .layout-row > .layout-cell.width-fix > div{display:inline-block} +.layout > .layout-row.min-size{height:0} +.layout > .layout-cell{display:table-cell;vertical-align:top;height:100%} +.layout > .layout-cell.width-100{width:100px} +.layout > .layout-cell.width-120{width:120px} +.layout > .layout-cell.width-200{width:200px} +.layout > .layout-cell.width-300{width:300px} +.layout > .layout-cell.layout-container,.layout > .layout-cell .layout-container,.layout > .layout-cell.padded-container,.layout > .layout-cell .padded-container{padding:20px 20px 0 20px} +.layout > .layout-cell.layout-container .container-flush,.layout > .layout-cell .layout-container .container-flush,.layout > .layout-cell.padded-container .container-flush,.layout > .layout-cell .padded-container .container-flush{padding-top:0} +.layout > .layout-cell .layout-relative{position:relative;height:100%} +.layout > .layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout > .layout-cell.min-size{width:0} +.layout > .layout-cell.min-height{height:0} +.layout > .layout-cell.center{text-align:center} +.layout > .layout-cell.middle{vertical-align:middle} +.layout > .layout-cell.width-fix > form,.layout > .layout-cell.width-fix > div{display:inline-block} +.whiteboard{background:white} +body.compact-container .layout.layout-container,body.compact-container .layout .layout-container{padding:0 !important} +body.slim-container .layout.layout-container,body.slim-container .layout .layout-container{padding-left:0 !important;padding-right:0 !important} +@media (max-width:768px){.layout .hide-on-small{display:none} +.layout.responsive-sidebar > .layout-cell:first-child{display:table-footer-group;height:auto} +.layout.responsive-sidebar > .layout-cell:first-child .control-breadcrumb{display:none} +.layout.responsive-sidebar > .layout-cell:last-child{display:table-header-group;width:auto;height:auto} +.layout.responsive-sidebar > .layout-cell:last-child .layout-absolute{position:static} +} +body.mainmenu-open{overflow:hidden} +nav#layout-mainmenu.navbar{background-color:#111111;padding:0 0 0 20px;line-height:0;white-space:nowrap} +nav#layout-mainmenu.navbar a{text-decoration:none} +nav#layout-mainmenu.navbar a:focus{background:transparent} +nav#layout-mainmenu.navbar ul{margin:0;padding:0;list-style:none;float:left;font-weight:600;white-space:nowrap;overflow:hidden} +nav#layout-mainmenu.navbar ul li{color:#555555;display:inline-block;margin-right:30px;position:relative} +nav#layout-mainmenu.navbar ul li:last-child{margin-right:0} +nav#layout-mainmenu.navbar ul li.active:after{content:' ';position:absolute;bottom:0;left:50%;margin-left:-8.5px} +nav#layout-mainmenu.navbar ul li.icon{margin-right:0} +nav#layout-mainmenu.navbar ul li.icon i{margin-right:0} +nav#layout-mainmenu.navbar ul li.icon a{padding:14px} +nav#layout-mainmenu.navbar ul li.power-off i,nav#layout-mainmenu.navbar ul li.preview i{font-size:20px} +nav#layout-mainmenu.navbar ul li.power-off a,nav#layout-mainmenu.navbar ul li.preview a{padding:22px 20px 20px 20px} +nav#layout-mainmenu.navbar ul li.account{margin-right:0;line-height:23px} +nav#layout-mainmenu.navbar ul li.account a{padding-right:20px;position:relative;z-index:590} +nav#layout-mainmenu.navbar ul li.account img{width:25px;margin-right:7px;position:relative;top:-2px} +nav#layout-mainmenu.navbar ul.nav{display:inline-block} +nav#layout-mainmenu.navbar .menu-toggle{display:none} +nav#layout-mainmenu.navbar .toolbar-item{margin-right:0} +nav#layout-mainmenu.navbar .toolbar-item:before,nav#layout-mainmenu.navbar .toolbar-item:after{margin-top:0} +nav#layout-mainmenu.navbar .toolbar-item:before{left:-12px} +nav#layout-mainmenu.navbar .toolbar-item:after{right:-12px} +nav#layout-mainmenu.navbar .toolbar-item.scroll-active-before:before{color:#ffffff} +nav#layout-mainmenu.navbar .toolbar-item.scroll-active-after:after{color:#ffffff} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu{position:fixed;top:63px;right:0;background:#2b3e50;z-index:590;display:none} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu.active{display:block} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu:after{content:'';display:block;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:12px solid #2b3e50;right:40px;top:-12px;position:absolute} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu ul{float:none;display:block} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu li{padding:0;margin:0;font-weight:400;text-align:left;display:block} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu li a{display:block;padding:12px 30px;text-align:left} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu li:hover{background:#3d5265 !important} +nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu li.divider{height:1px;width:100%;background-color:#4b6372} +@media (max-width:768px){nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu:after{right:71px} +} +nav#layout-mainmenu.navbar ul li a,nav#layout-mainmenu .menu-toggle,.mainmenu-collapsed li a{padding:14px 0;display:inline-block;font-size:14px;color:inherit;outline:none} +nav#layout-mainmenu.navbar ul li a:hover,nav#layout-mainmenu .menu-toggle:hover,.mainmenu-collapsed li a:hover{background-color:transparent !important} +nav#layout-mainmenu.navbar ul li a:active,nav#layout-mainmenu .menu-toggle:active,.mainmenu-collapsed li a:active,nav#layout-mainmenu.navbar ul li a:focus,nav#layout-mainmenu .menu-toggle:focus,.mainmenu-collapsed li a:focus{text-decoration:none;color:#555555} +nav#layout-mainmenu.navbar ul li a i,nav#layout-mainmenu .menu-toggle i,.mainmenu-collapsed li a i{line-height:1;font-size:35px;vertical-align:middle;margin-right:10px} +.mainmenu-collapsed li a i{width:40px;text-align:left;display:inline-block} +nav#layout-mainmenu.navbar ul li:hover a:active,.mainmenu-collapsed li:hover a:active,nav#layout-mainmenu.navbar ul li:hover a:focus,.mainmenu-collapsed li:hover a:focus{color:#ffffff !important} +.touch .mainmenu-collapsed li a:hover{color:#555555} +nav#layout-mainmenu.navbar ul li.active,.mainmenu-collapsed li.active,nav#layout-mainmenu.navbar ul li.highlight,.mainmenu-collapsed li.highlight{color:#ffffff !important;font-weight:600} +nav#layout-mainmenu.navbar ul li.active a,.mainmenu-collapsed li.active a,nav#layout-mainmenu.navbar ul li.highlight a,.mainmenu-collapsed li.highlight a{color:#ffffff !important} +nav#layout-mainmenu.navbar ul li:hover,.mainmenu-collapsed li:hover{color:#ffffff;background:transparent} +body.drag nav#layout-mainmenu.navbar ul.nav li:hover,body.drag .mainmenu-collapsed ul li:hover{color:#555555} +@media (max-width:769px){nav#layout-mainmenu.navbar ul.nav{display:none} +nav#layout-mainmenu.navbar .menu-toggle{display:inline-block;color:#ffffff !important;font-weight:600} +.mainmenu-collapsed{position:fixed;height:100%;left:0;top:0;width:0;background:#333333;-webkit-box-shadow:inset -5px 0 3px rgba(0,0,0,0.1);box-shadow:inset -5px 0 3px rgba(0,0,0,0.1);margin:0} +.mainmenu-collapsed > div{display:relative;height:100%} +.mainmenu-collapsed > div ul{overflow:hidden;padding:0;margin:0} +.mainmenu-collapsed > div ul li{text-transform:uppercase;list-style:none;color:#555555} +.mainmenu-collapsed > div ul li a{white-space:nowrap;display:block;padding:15px 20px} +.mainmenu-collapsed > div ul li a:hover{text-decoration:none} +.mainmenu-collapsed .scroll-marker{position:absolute;left:0;width:100%;height:10px;display:none} +.mainmenu-collapsed .scroll-marker:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f141";display:block;position:absolute;left:50%;margin-left:-3px;top:0;height:9px;font-size:10px;color:#555555} +.mainmenu-collapsed .scroll-marker.before{top:0} +.mainmenu-collapsed .scroll-marker.after{bottom:3px} +.mainmenu-collapsed .scroll-marker.after:after{top:2px} +.mainmenu-collapsed.scroll-before .scroll-marker.before{display:block} +.mainmenu-collapsed.scroll-after .scroll-marker.after{display:block} +} +body.mainmenu-open .mainmenu-collapsed ul{position:fixed;left:0;top:10px;bottom:10px} +@media (min-width:770px){#layout-canvas{position:static !important} +.mainmenu-collapsed{display:none !important} +} +#layout-sidenav{background-color:#34495e;position:absolute;height:100%;width:100%;padding:10px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +#layout-sidenav ul{position:relative;margin:0;padding:0;height:100%;overflow:hidden} +#layout-sidenav ul li{display:block;text-align:center;position:relative} +#layout-sidenav ul li a{padding:13px;display:block;font-size:12px;color:rgba(255,255,255,0.35);font-weight:normal} +#layout-sidenav ul li a:hover{text-decoration:none;background-color:transparent} +#layout-sidenav ul li a:focus{background:transparent} +#layout-sidenav ul li a i{color:rgba(255,255,255,0.35);display:block;margin-bottom:5px;font-size:28px} +#layout-sidenav ul li.active a,#layout-sidenav ul li a:hover{color:#ffffff} +#layout-sidenav ul li.active a i,#layout-sidenav ul li a:hover i{color:#ffffff} +#layout-sidenav ul li span.counter{display:block;position:absolute;top:15px;right:15px;padding:2px 6px 3px 4px;background-color:#d9350f;color:#ffffff;font-size:11px;line-height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1,);-ms-transform:scale(1,);transform:scale(1,);-webkit-transition:all 0.3s;transition:all 0.3s} +#layout-sidenav ul li span.counter.empty{opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0,);-ms-transform:scale(0,);transform:scale(0,)} +#layout-sidenav .scroll-marker{position:absolute;left:0;width:100%;height:10px;display:none} +#layout-sidenav .scroll-marker:after{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f141";display:block;position:absolute;left:50%;margin-left:-3px;top:0;height:9px;font-size:10px;color:rgba(255,255,255,0.35)} +#layout-sidenav .scroll-marker.before{top:0} +#layout-sidenav .scroll-marker.after{bottom:3px} +#layout-sidenav .scroll-marker.after:after{top:2px} +#layout-sidenav.scroll-before .scroll-marker.before{display:block} +#layout-sidenav.scroll-after .scroll-marker.after{display:block} +#layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover,.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover{color:rgba(255,255,255,0.35) !important} +#layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover i,.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover i{color:rgba(255,255,255,0.35) !important} +#layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover:after,.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover:after{display:none !important} +#layout-side-panel .fix-button{position:absolute;right:2px;top:1px;display:block;width:20px;height:20px;font-size:13px} +#layout-side-panel .fix-button i{display:block;text-align:center;margin-top:5px;color:#aaaaaa} +#layout-side-panel .fix-button:hover{text-decoration:none;opacity:1 !important;filter:alpha(opacity=100) !important} +body.side-panel-not-fixed #layout-side-panel{display:none} +body.side-panel-not-fixed #layout-side-panel .fix-button{opacity:0.5;filter:alpha(opacity=50)} +body.display-side-panel #layout-side-panel{display:block;position:absolute;z-index:500;width:300px;-webkit-box-shadow:2px 0px 2px 0 rgba(0,0,0,0.3);box-shadow:2px 0px 2px 0 rgba(0,0,0,0.3)} +@media (min-width:992px){body.side-panel-fix-shadow #layout-side-panel{-webkit-box-shadow:none;box-shadow:none} +} +.touch #layout-side-panel .fix-button{display:none} +@media (max-width:768px){#layout-side-panel .fix-button{display:none} +} +#layout-footer{width:100%;z-index:100;height:60px;position:fixed;bottom:0;color:#666666;background-color:rgba(255,255,255,0.8);border-top:1px solid #dfdfdf} +#layout-footer .brand,#layout-footer .tagline{margin:10px;height:40px;line-height:40px} +#layout-footer .brand{float:left;font-size:16px} +#layout-footer .brand .logo{margin:0 10px} +#layout-footer .tagline{float:right} +#layout-footer .tagline p{color:#999999} +body.outer{background:#2b3e50} +body.outer .layout > .layout-row.layout-head{text-align:center;background:#1d2d3d} +body.outer .layout > .layout-row.layout-head > .layout-cell{height:300px !important;padding:50px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle} +body.outer .layout > .layout-row.layout-head > .layout-cell h1.oc-logo-white{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:inline-block;width:100%;max-width:410px;height:72px} +body.outer .layout > .layout-row > .layout-cell{vertical-align:middle} +body.outer .layout > .layout-row > .layout-cell .outer-form-container{margin:0 auto;width:404px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container h2{font-size:18px;margin:20px 0;color:#feffff} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form{font-size:0} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form input{vertical-align:top;margin-right:9px;display:inline-block;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form input.width-1{width:160px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form input.width-2{width:323px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form button{background:#1795f1;text-align:center;font-size:13px;font-weight:600;height:40px;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .horizontal-form button.login-button{display:inline-block;width:65px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password{margin-top:30px;font-size:13px;top:8px} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password a{color:rgba(255,255,255,0.44)} +body.outer .layout > .layout-row > .layout-cell .outer-form-container .forgot-password:before{color:rgba(255,255,255,0.44);font-size:14px;position:relative;margin-right:5px} +html.csstransitions body.outer .outer-form-container{-webkit-transition:all 0.5s ease-out;transition:all 0.5s ease-out;-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} +html.csstransitions body.outer.preload .outer-form-container{-webkit-transform:scale(0.2,0.2);-moz-transform:scale(0.2,0.2);-ms-transform:scale(0.2,0.2);-o-transform:scale(0.2,0.2);transform:scale(0.2,0.2)} + .fancy-layout .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#ffffff;right:11px} +.fancy-layout .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .tab-collapse-icon.primary i{position:relative;display:block} +.fancy-layout .control-tabs.master-tabs,.fancy-layout.control-tabs.master-tabs{overflow:hidden} +.fancy-layout .control-tabs.master-tabs:before,.fancy-layout.control-tabs.master-tabs:before,.fancy-layout .control-tabs.master-tabs:after,.fancy-layout.control-tabs.master-tabs:after{top:7px;font-size:14px;color:rgba(255,255,255,0.35)} +.fancy-layout .control-tabs.master-tabs:before,.fancy-layout.control-tabs.master-tabs:before{left:8px} +.fancy-layout .control-tabs.master-tabs:after,.fancy-layout.control-tabs.master-tabs:after{right:8px} +.fancy-layout .control-tabs.master-tabs.scroll-before:before,.fancy-layout.control-tabs.master-tabs.scroll-before:before{color:#ffffff} +.fancy-layout .control-tabs.master-tabs.scroll-after:after,.fancy-layout.control-tabs.master-tabs.scroll-after:after{color:#ffffff} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container{background:#d35400;padding-left:20px;padding-right:20px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs{margin-left:-8px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li{margin-left:-10px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close{top:9px;right:-3px;left:auto;z-index:110} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close i,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close i{top:4px;right:1px;color:rgba(255,255,255,0.3) !important;font:14px bold "Helvetica Neue",Helvetica,Arial,sans-serif} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close i:hover,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li span.tab-close i:hover{color:#ffffff !important} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a{border-bottom:none;background:transparent;font-size:14px;color:rgba(255,255,255,0.35);padding:6px 0 0 0;overflow:visible} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title{position:relative;display:inline-block;padding:8px 5px 9px 5px;font-size:13px;z-index:100;background-color:#b9530f} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after{content:' ';position:absolute;background:transparent url(../images/tab-shape.svg) no-repeat left -80px;width:20px;display:block;height:30px;top:0;z-index:100} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before{left:-20px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after{right:-20px;background-position:-80px -80px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a:before,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a:before{z-index:110;position:relative;margin-right:-12px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a[class*=icon] > span.title,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a[class*=icon] > span.title{padding-left:18px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a{z-index:107;color:#ffffff} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active span.tab-close i,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active span.tab-close i{color:#ffffff} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title{background-color:#e67e22;z-index:105} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title:before,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title:before{background-position:left -40px;z-index:107} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title:after,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li.active a > span.title:after{background-position:-80px -40px;z-index:107} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li[data-modified] span.tab-close i,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li[data-modified] span.tab-close i{top:4px;font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li[data-modified] span.tab-close i:before,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li[data-modified] span.tab-close i:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f111";font-size:9px} +.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li:first-child,.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li:first-child{margin-left:0} +.fancy-layout .control-tabs.master-tabs[data-closable] > div > div.tabs-container > ul.nav-tabs > li a > span.title,.fancy-layout.control-tabs.master-tabs[data-closable] > div > div.tabs-container > ul.nav-tabs > li a > span.title{padding-right:10px} +.fancy-layout .control-tabs.master-tabs.has-tabs:before,.fancy-layout.control-tabs.master-tabs.has-tabs:before,.fancy-layout .control-tabs.master-tabs.has-tabs:after,.fancy-layout.control-tabs.master-tabs.has-tabs:after{display:block} +.fancy-layout .control-tabs.secondary-tabs > div > ul.nav-tabs,.fancy-layout.control-tabs.secondary-tabs > div > ul.nav-tabs{background:#475354} +.fancy-layout .control-tabs.secondary-tabs > div > ul.nav-tabs > li,.fancy-layout.control-tabs.secondary-tabs > div > ul.nav-tabs > li{border-right:none;padding-right:0;margin-right:0} +.fancy-layout .control-tabs.secondary-tabs > div > ul.nav-tabs > li a,.fancy-layout.control-tabs.secondary-tabs > div > ul.nav-tabs > li a{background:transparent;border:none;padding:8px 10px;color:#919898} +.fancy-layout .control-tabs.secondary-tabs > div > ul.nav-tabs > li.active a,.fancy-layout.control-tabs.secondary-tabs > div > ul.nav-tabs > li.active a{color:#ffffff} +.fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon,.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#ffffff;right:11px} +.fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon:hover,.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary,.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary i,.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary i{position:relative;display:block} +.fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary,.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary{color:#ffffff;top:12px;right:11px;bottom:auto} +.fancy-layout .control-tabs.secondary-tabs.primary-collapsed .tab-collapse-icon.primary,.fancy-layout.control-tabs.secondary-tabs.primary-collapsed .tab-collapse-icon.primary{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs{background:#f9f9f9} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li{margin-left:-19px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li:first-child,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li:first-child{margin-left:0;padding-left:8px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a{padding:8px 16px 0 16px;font-weight:400;color:#2b3e50;opacity:0.6;filter:alpha(opacity=60)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title{position:relative;display:inline-block;padding:4px 5px 9px 5px;font-size:13px;z-index:100;height:25px !important;background-color:transparent} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:before,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:before,.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:after,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:after{content:' ';position:absolute;background:transparent url(../images/secondary-tab-shape-content.svg) no-repeat left top;width:15px;height:25px;top:0;z-index:100;display:none} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:before,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:before{left:-15px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:after,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title:after{right:-15px;background-position:-60px 0} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title span,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li a > span.title span{height:18px;font-size:12px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a{opacity:1;filter:alpha(opacity=100)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title{background-color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title:before,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title:before,.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title:after,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs > div > ul.nav-tabs > li.active a > span.title:after{display:block} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs .tab-collapse-icon.primary,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs .tab-collapse-icon.primary{color:#808c8d} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed .tab-collapse-icon.primary,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed .tab-collapse-icon.primary{color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs{background:#e67e22} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs > li a,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs > li a{color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs > li.active a,.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed > div > ul.nav-tabs > li.active a{color:#2b3e50} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs{background:#7f8c8d;margin-left:0 !important;margin-right:0 !important} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs.master-area,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs.master-area{-webkit-transition:background-color 0.5s;transition:background-color 0.5s;background:#e67e22} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs:before,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs:before{display:none} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li{background:transparent;border-right:none} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li:first-child,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li:first-child{margin-left:-5px} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a{background:transparent;border:none;padding:12px 16px 0px;font-size:12px;font-weight:400;color:#95a5a6} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title{background:#d5d9d8;border-top:none;padding:5px 5px 3px 5px} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:before,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:before,.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:after,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:after{top:0} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:before,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:before{background-position:left -92px} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:after,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li a span.title:after{background-position:-61px -92px} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li.active a,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a{color:#808c8d} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li.active a:before,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a:before{display:none} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title{background:#fafafa} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title:before,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title:before{background-position:left -62px} +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title:after,.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs > li.active a span.title:after{background-position:-61px -62px} +.fancy-layout .control-tabs.primary-tabs > .tab-content > .tab-pane,.fancy-layout.control-tabs.primary-tabs > .tab-content > .tab-pane{padding:15px 15px 0 15px} +.fancy-layout .control-tabs.primary-tabs > .tab-content > .tab-pane.pane-compact,.fancy-layout.control-tabs.primary-tabs > .tab-content > .tab-pane.pane-compact{padding:0} +.fancy-layout .control-tabs.primary-tabs > .tab-content > .tab-pane .form-control,.fancy-layout.control-tabs.primary-tabs > .tab-content > .tab-pane .form-control{border-width:1px} +.fancy-layout .control-tabs.primary-tabs.collapsed,.fancy-layout.control-tabs.primary-tabs.collapsed{display:none} +.fancy-layout .control-tabs > div.tab-content,.fancy-layout.control-tabs > div.tab-content{background:#f9f9f9} +.fancy-layout .control-tabs > div.tab-content > div.tab-pane,.fancy-layout.control-tabs > div.tab-content > div.tab-pane{padding:0} +.fancy-layout .control-tabs > div.tab-content > div.tab-pane.padded-pane,.fancy-layout.control-tabs > div.tab-content > div.tab-pane.padded-pane{padding:15px 15px 0 15px} +.fancy-layout .form-tabless-fields{position:relative;background:#e67e22;padding:18px 23px 0 23px;-webkit-transition:all 0.5s;transition:all 0.5s} +.fancy-layout .form-tabless-fields:before,.fancy-layout .form-tabless-fields:after{content:" ";display:table} +.fancy-layout .form-tabless-fields:after{clear:both} +.fancy-layout .form-tabless-fields:before,.fancy-layout .form-tabless-fields:after{content:" ";display:table} +.fancy-layout .form-tabless-fields:after{clear:both} +.fancy-layout .form-tabless-fields label{text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0} +.fancy-layout .form-tabless-fields input[type=text]{background:transparent;border:none;color:#ffffff;font-size:35px;font-weight:100;height:auto;padding:0} +.fancy-layout .form-tabless-fields input[type=text]::-moz-placeholder{color:#f4c69e;opacity:1} +.fancy-layout .form-tabless-fields input[type=text]:-ms-input-placeholder{color:#f4c69e} +.fancy-layout .form-tabless-fields input[type=text]::-webkit-input-placeholder{color:#f4c69e} +.fancy-layout .form-tabless-fields input[type=text]:focus,.fancy-layout .form-tabless-fields input[type=text]:hover{background-color:rgba(255,255,255,0.1)} +.fancy-layout .form-tabless-fields .form-group{padding-bottom:0} +.fancy-layout .form-tabless-fields .form-group.is-required > label:after{display:none} +.fancy-layout .form-tabless-fields .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#ffffff;right:11px} +.fancy-layout .form-tabless-fields .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout .form-tabless-fields .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .form-tabless-fields .tab-collapse-icon.primary i{position:relative;display:block} +.fancy-layout .form-tabless-fields .tab-collapse-icon.tabless{top:11px} +.fancy-layout .form-tabless-fields.collapsed{padding:5px 23px 0 10px} +.fancy-layout .form-tabless-fields.collapsed .tab-collapse-icon.tabless{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .form-tabless-fields.collapsed .form-group:not(.collapse-visible){display:none} +.fancy-layout .form-tabless-fields.collapsed .form-buttons{padding-bottom:0} +.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator{background-color:#e67e22;padding:0 0 0 30px;color:rgba(255,255,255,0.5);margin-top:1px;height:90%;font-size:12px;line-height:100%} +.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator > span{left:-10px;top:18px} +.fancy-layout .form-buttons{-webkit-transition:all 0.5s;transition:all 0.5s;padding-top:2px;padding-bottom:5px;margin-top:-6px} +.fancy-layout .form-buttons .btn{margin-left:-11px;background-color:transparent} +.fancy-layout .form-buttons .btn{color:#ffffff;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.3s ease;transition:all 0.3s ease} +.fancy-layout .form-buttons .btn:hover{opacity:1;filter:alpha(opacity=100)} +.fancy-layout form.oc-data-changed .btn.save{opacity:1;filter:alpha(opacity=100)} +.fancy-layout .field-codeeditor{border:none !important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} +.fancy-layout .field-codeeditor .editor-code{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} +.fancy-layout .field-richeditor{border:none;border-left:1px solid #e0e0e0 !important} +.fancy-layout .field-richeditor,.fancy-layout .field-richeditor .redactor_box,.fancy-layout .field-richeditor .redactor_toolbar{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-top-right-radius:0;border-top-left-radius:0} +.fancy-layout .field-richeditor .redactor-box textarea{background:white;padding:20px !important;color:#333333;font-size:14px} +.fancy-layout .secondary-content-tabs .field-richeditor .redactor-box .redactor-toolbar{margin:20px 20px 0 20px!important;-webkit-border-radius:3px !important;-moz-border-radius:3px !important;border-radius:3px !important} +body.side-panel-not-fixed .fancy-layout .field-richeditor{border-left:none} +html.cssanimations .fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator > span{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background-image:url(../images/loading-indicator-white.svg);background-size:20px 20px} +>>>>>>> develop diff --git a/modules/backend/assets/images/tab-link.png b/modules/backend/assets/images/tab-link.png deleted file mode 100644 index 7b275d289..000000000 Binary files a/modules/backend/assets/images/tab-link.png and /dev/null differ diff --git a/modules/backend/assets/js/october-min.js b/modules/backend/assets/js/october-min.js index ba43852de..3646336ed 100644 --- a/modules/backend/assets/js/october-min.js +++ b/modules/backend/assets/js/october-min.js @@ -1267,13 +1267,14 @@ return;} self.trigger('select',{originalEvent:evt,data:data});});this.$results.on('mouseenter','.select2-results__option[aria-selected]',function(evt){var data=$(this).data('data');self.getHighlightedResults().removeClass('select2-results__option--highlighted');self.trigger('results:focus',{data:data,element:$(this)});});};Results.prototype.getHighlightedResults=function(){var $highlighted=this.$results.find('.select2-results__option--highlighted');return $highlighted;};Results.prototype.destroy=function(){this.$results.remove();};Results.prototype.ensureHighlightVisible=function(){var $highlighted=this.getHighlightedResults();if($highlighted.length===0){return;} var $options=this.$results.find('[aria-selected]');var currentIndex=$options.index($highlighted);var currentOffset=this.$results.offset().top;var nextTop=$highlighted.offset().top;var nextOffset=this.$results.scrollTop()+(nextTop-currentOffset);var offsetDelta=nextTop-currentOffset;nextOffset-=$highlighted.outerHeight(false)*2;if(currentIndex<=2){this.$results.scrollTop(0);}else if(offsetDelta>this.$results.outerHeight()||offsetDelta<0){this.$results.scrollTop(nextOffset);}};Results.prototype.template=function(result,container){var template=this.options.get('templateResult');var escapeMarkup=this.options.get('escapeMarkup');var content=template(result);if(content==null){container.style.display='none';}else if(typeof content==='string'){container.innerHTML=escapeMarkup(content);}else{$(container).append(content);}};return Results;});S2.define('select2/keys',[],function(){var KEYS={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return KEYS;});S2.define('select2/selection/base',['jquery','../utils','../keys'],function($,Utils,KEYS){function BaseSelection($element,options){this.$element=$element;this.options=options;BaseSelection.__super__.constructor.call(this);} Utils.Extend(BaseSelection,Utils.Observable);BaseSelection.prototype.render=function(){var $selection=$('');this._tabindex=0;if(this.$element.data('old-tabindex')!=null){this._tabindex=this.$element.data('old-tabindex');}else if(this.$element.attr('tabindex')!=null){this._tabindex=this.$element.attr('tabindex');} -$selection.attr('title',this.$element.attr('title'));$selection.attr('tabindex',this._tabindex);this.$selection=$selection;return $selection;};BaseSelection.prototype.bind=function(container,$container){var self=this;var id=container.id+'-container';var resultsId=container.id+'-results';this.container=container;this.$selection.on('focus',function(evt){self.trigger('focus',evt);});this.$selection.on('blur',function(evt){self.trigger('blur',evt);});this.$selection.on('keydown',function(evt){self.trigger('keypress',evt);if(evt.which===KEYS.SPACE){evt.preventDefault();}});container.on('results:focus',function(params){self.$selection.attr('aria-activedescendant',params.data._resultId);});container.on('selection:update',function(params){self.update(params.data);});container.on('open',function(){self.$selection.attr('aria-expanded','true');self.$selection.attr('aria-owns',resultsId);self._attachCloseHandler(container);});container.on('close',function(){self.$selection.attr('aria-expanded','false');self.$selection.removeAttr('aria-activedescendant');self.$selection.removeAttr('aria-owns');self.$selection.focus();self._detachCloseHandler(container);});container.on('enable',function(){self.$selection.attr('tabindex',self._tabindex);});container.on('disable',function(){self.$selection.attr('tabindex','-1');});};BaseSelection.prototype._attachCloseHandler=function(container){var self=this;$(document.body).on('mousedown.select2.'+container.id,function(e){var $target=$(e.target);var $select=$target.closest('.select2');var $all=$('.select2.select2-container--open');$all.each(function(){var $this=$(this);if(this==$select[0]){return;} +$selection.attr('title',this.$element.attr('title'));$selection.attr('tabindex',this._tabindex);this.$selection=$selection;return $selection;};BaseSelection.prototype.bind=function(container,$container){var self=this;var id=container.id+'-container';var resultsId=container.id+'-results';this.container=container;this.$selection.on('focus',function(evt){self.trigger('focus',evt);});this.$selection.on('blur',function(evt){self._handleBlur(evt);});this.$selection.on('keydown',function(evt){self.trigger('keypress',evt);if(evt.which===KEYS.SPACE){evt.preventDefault();}});container.on('results:focus',function(params){self.$selection.attr('aria-activedescendant',params.data._resultId);});container.on('selection:update',function(params){self.update(params.data);});container.on('open',function(){self.$selection.attr('aria-expanded','true');self.$selection.attr('aria-owns',resultsId);self._attachCloseHandler(container);});container.on('close',function(){self.$selection.attr('aria-expanded','false');self.$selection.removeAttr('aria-activedescendant');self.$selection.removeAttr('aria-owns');self.$selection.focus();self._detachCloseHandler(container);});container.on('enable',function(){self.$selection.attr('tabindex',self._tabindex);});container.on('disable',function(){self.$selection.attr('tabindex','-1');});};BaseSelection.prototype._handleBlur=function(evt){var self=this;window.setTimeout(function(){if((document.activeElement==self.$selection[0])||($.contains(self.$selection[0],document.activeElement))){return;} +self.trigger('blur',evt);},1);};BaseSelection.prototype._attachCloseHandler=function(container){var self=this;$(document.body).on('mousedown.select2.'+container.id,function(e){var $target=$(e.target);var $select=$target.closest('.select2');var $all=$('.select2.select2-container--open');$all.each(function(){var $this=$(this);if(this==$select[0]){return;} var $element=$this.data('element');$element.select2('close');});});};BaseSelection.prototype._detachCloseHandler=function(container){$(document.body).off('mousedown.select2.'+container.id);};BaseSelection.prototype.position=function($selection,$container){var $selectionContainer=$container.find('.selection');$selectionContainer.append($selection);};BaseSelection.prototype.destroy=function(){this._detachCloseHandler(this.container);};BaseSelection.prototype.update=function(data){throw new Error('The `update` method must be defined in child classes.');};return BaseSelection;});S2.define('select2/selection/single',['jquery','./base','../utils','../keys'],function($,BaseSelection,Utils,KEYS){function SingleSelection(){SingleSelection.__super__.constructor.apply(this,arguments);} Utils.Extend(SingleSelection,BaseSelection);SingleSelection.prototype.render=function(){var $selection=SingleSelection.__super__.render.call(this);$selection.addClass('select2-selection--single');$selection.html(''+''+''+'');return $selection;};SingleSelection.prototype.bind=function(container,$container){var self=this;SingleSelection.__super__.bind.apply(this,arguments);var id=container.id+'-container';this.$selection.find('.select2-selection__rendered').attr('id',id);this.$selection.attr('aria-labelledby',id);this.$selection.on('mousedown',function(evt){if(evt.which!==1){return;} -self.trigger('toggle',{originalEvent:evt});});this.$selection.on('focus',function(evt){});this.$selection.on('blur',function(evt){});container.on('selection:update',function(params){self.update(params.data);});};SingleSelection.prototype.clear=function(){this.$selection.find('.select2-selection__rendered').empty();};SingleSelection.prototype.display=function(data){var template=this.options.get('templateSelection');var escapeMarkup=this.options.get('escapeMarkup');return escapeMarkup(template(data));};SingleSelection.prototype.selectionContainer=function(){return $('');};SingleSelection.prototype.update=function(data){if(data.length===0){this.clear();return;} -var selection=data[0];var formatted=this.display(selection);var $rendered=this.$selection.find('.select2-selection__rendered');$rendered.empty().append(formatted);$rendered.prop('title',selection.title||selection.text);};return SingleSelection;});S2.define('select2/selection/multiple',['jquery','./base','../utils'],function($,BaseSelection,Utils){function MultipleSelection($element,options){MultipleSelection.__super__.constructor.apply(this,arguments);} -Utils.Extend(MultipleSelection,BaseSelection);MultipleSelection.prototype.render=function(){var $selection=MultipleSelection.__super__.render.call(this);$selection.addClass('select2-selection--multiple');$selection.html('');return $selection;};MultipleSelection.prototype.bind=function(container,$container){var self=this;MultipleSelection.__super__.bind.apply(this,arguments);this.$selection.on('click',function(evt){self.trigger('toggle',{originalEvent:evt});});this.$selection.on('click','.select2-selection__choice__remove',function(evt){var $remove=$(this);var $selection=$remove.parent();var data=$selection.data('data');self.trigger('unselect',{originalEvent:evt,data:data});});};MultipleSelection.prototype.clear=function(){this.$selection.find('.select2-selection__rendered').empty();};MultipleSelection.prototype.display=function(data){var template=this.options.get('templateSelection');var escapeMarkup=this.options.get('escapeMarkup');return escapeMarkup(template(data));};MultipleSelection.prototype.selectionContainer=function(){var $container=$('
  • '+''+'×'+''+'
  • ');return $container;};MultipleSelection.prototype.update=function(data){this.clear();if(data.length===0){return;} -var $selections=[];for(var d=0;d');};SingleSelection.prototype.update=function(data){if(data.length===0){this.clear();return;} +var selection=data[0];var $rendered=this.$selection.find('.select2-selection__rendered');var formatted=this.display(selection,$rendered);$rendered.empty().append(formatted);$rendered.prop('title',selection.title||selection.text);};return SingleSelection;});S2.define('select2/selection/multiple',['jquery','./base','../utils'],function($,BaseSelection,Utils){function MultipleSelection($element,options){MultipleSelection.__super__.constructor.apply(this,arguments);} +Utils.Extend(MultipleSelection,BaseSelection);MultipleSelection.prototype.render=function(){var $selection=MultipleSelection.__super__.render.call(this);$selection.addClass('select2-selection--multiple');$selection.html('');return $selection;};MultipleSelection.prototype.bind=function(container,$container){var self=this;MultipleSelection.__super__.bind.apply(this,arguments);this.$selection.on('click',function(evt){self.trigger('toggle',{originalEvent:evt});});this.$selection.on('click','.select2-selection__choice__remove',function(evt){var $remove=$(this);var $selection=$remove.parent();var data=$selection.data('data');self.trigger('unselect',{originalEvent:evt,data:data});});};MultipleSelection.prototype.clear=function(){this.$selection.find('.select2-selection__rendered').empty();};MultipleSelection.prototype.display=function(data,container){var template=this.options.get('templateSelection');var escapeMarkup=this.options.get('escapeMarkup');return escapeMarkup(template(data,container));};MultipleSelection.prototype.selectionContainer=function(){var $container=$('
  • '+''+'×'+''+'
  • ');return $container;};MultipleSelection.prototype.update=function(data){this.clear();if(data.length===0){return;} +var $selections=[];for(var d=0;d1;if(multipleSelections||singlePlaceholder){return decorated.call(this,data);} @@ -1285,12 +1286,14 @@ evt.stopPropagation();var data=$clear.data('data');for(var d=0;d0||data.length===0){return;} var $remove=$(''+'×'+'');$remove.data('data',data);this.$selection.find('.select2-selection__rendered').prepend($remove);};return AllowClear;});S2.define('select2/selection/search',['jquery','../utils','../keys'],function($,Utils,KEYS){function Search(decorated,$element,options){decorated.call(this,$element,options);} -Search.prototype.render=function(decorated){var $search=$('');this.$searchContainer=$search;this.$search=$search.find('input');var $rendered=decorated.call(this);return $rendered;};Search.prototype.bind=function(decorated,container,$container){var self=this;decorated.call(this,container,$container);container.on('open',function(){self.$search.attr('tabindex',0);self.$search.focus();});container.on('close',function(){self.$search.attr('tabindex',-1);self.$search.val('');self.$search.focus();});container.on('enable',function(){self.$search.prop('disabled',false);});container.on('disable',function(){self.$search.prop('disabled',true);});this.$selection.on('focusin','.select2-search--inline',function(evt){self.trigger('focus',evt);});this.$selection.on('focusout','.select2-search--inline',function(evt){self.trigger('blur',evt);});this.$selection.on('keydown','.select2-search--inline',function(evt){evt.stopPropagation();self.trigger('keypress',evt);self._keyUpPrevented=evt.isDefaultPrevented();var key=evt.which;if(key===KEYS.BACKSPACE&&self.$search.val()===''){var $previousChoice=self.$searchContainer.prev('.select2-selection__choice');if($previousChoice.length>0){var item=$previousChoice.data('data');self.searchRemoveChoice(item);evt.preventDefault();}}});this.$selection.on('input','.select2-search--inline',function(evt){self.$selection.off('keyup.search');});this.$selection.on('keyup.search input','.select2-search--inline',function(evt){self.handleSearch(evt);});};Search.prototype.createPlaceholder=function(decorated,placeholder){this.$search.attr('placeholder',placeholder.text);};Search.prototype.update=function(decorated,data){this.$search.attr('placeholder','');decorated.call(this,data);this.$selection.find('.select2-selection__rendered').append(this.$searchContainer);this.resizeSearch();};Search.prototype.handleSearch=function(){this.resizeSearch();if(!this._keyUpPrevented){var input=this.$search.val();this.trigger('query',{term:input});} +Search.prototype.render=function(decorated){var $search=$('');this.$searchContainer=$search;this.$search=$search.find('input');var $rendered=decorated.call(this);this._transferTabIndex();return $rendered;};Search.prototype.bind=function(decorated,container,$container){var self=this;decorated.call(this,container,$container);container.on('open',function(){self.$search.trigger('focus');});container.on('close',function(){self.$search.val('');self.$search.trigger('focus');});container.on('enable',function(){self.$search.prop('disabled',false);self._transferTabIndex();});container.on('disable',function(){self.$search.prop('disabled',true);});container.on('focus',function(evt){self.$search.trigger('focus');});this.$selection.on('focusin','.select2-search--inline',function(evt){self.trigger('focus',evt);});this.$selection.on('focusout','.select2-search--inline',function(evt){self._handleBlur(evt);});this.$selection.on('keydown','.select2-search--inline',function(evt){evt.stopPropagation();self.trigger('keypress',evt);self._keyUpPrevented=false;var key=evt.which;if(key===KEYS.BACKSPACE&&self.$search.val()===''){var $previousChoice=self.$searchContainer.prev('.select2-selection__choice');if($previousChoice.length>0){var item=$previousChoice.data('data');self.searchRemoveChoice(item);evt.preventDefault();}}});this.$selection.on('input','.select2-search--inline',function(evt){self.$selection.off('keyup.search');});this.$selection.on('keyup.search input','.select2-search--inline',function(evt){var key=evt.which;if(key==KEYS.SHIFT||key==KEYS.CTRL||key==KEYS.ALT){return;} +if(key==KEYS.TAB){return;} +self.handleSearch(evt);});};Search.prototype._transferTabIndex=function(decorated){this.$search.attr('tabindex',this.$selection.attr('tabindex'));this.$selection.attr('tabindex','-1');};Search.prototype.createPlaceholder=function(decorated,placeholder){this.$search.attr('placeholder',placeholder.text);};Search.prototype.update=function(decorated,data){var searchHadFocus=this.$search[0]==document.activeElement;this.$search.attr('placeholder','');decorated.call(this,data);this.$selection.find('.select2-selection__rendered').append(this.$searchContainer);this.resizeSearch();if(searchHadFocus){this.$search.focus();}};Search.prototype.handleSearch=function(){this.resizeSearch();if(!this._keyUpPrevented){var input=this.$search.val();this.trigger('query',{term:input});} this._keyUpPrevented=false;};Search.prototype.searchRemoveChoice=function(decorated,item){this.trigger('unselect',{data:item});this.trigger('open');this.$search.val(item.text+' ');};Search.prototype.resizeSearch=function(){this.$search.css('width','25px');var width='';if(this.$search.attr('placeholder')!==''){width=this.$selection.find('.select2-selection__rendered').innerWidth();}else{var minimumWidth=this.$search.val().length+1;width=(minimumWidth*0.75)+'em';} this.$search.css('width',width);};return Search;});S2.define('select2/selection/eventRelay',['jquery'],function($){function EventRelay(){} EventRelay.prototype.bind=function(decorated,container,$container){var self=this;var relayEvents=['open','opening','close','closing','select','selecting','unselect','unselecting'];var preventableEvents=['opening','closing','selecting','unselecting'];decorated.call(this,container,$container);container.on('*',function(name,params){if($.inArray(name,relayEvents)===-1){return;} params=params||{};var evt=$.Event('select2:'+name,{params:params});self.$element.trigger(evt);if($.inArray(name,preventableEvents)===-1){return;} -params.prevented=evt.isDefaultPrevented();});};return EventRelay;});S2.define('select2/translation',['jquery','require'],function($,require){function Translation(dict){this.dict=dict||{};} +params.prevented=false;});};return EventRelay;});S2.define('select2/translation',['jquery','require'],function($,require){function Translation(dict){this.dict=dict||{};} Translation.prototype.all=function(){return this.dict;};Translation.prototype.get=function(key){return this.dict[key];};Translation.prototype.extend=function(translation){this.dict=$.extend({},translation.all(),this.dict);};Translation._cache={};Translation.loadPath=function(path){if(!(path in Translation._cache)){var translations=require(path);Translation._cache[path]=translations;} return new Translation(Translation._cache[path]);};return Translation;});S2.define('select2/diacritics',[],function(){var diacritics={'\u24B6':'A','\uFF21':'A','\u00C0':'A','\u00C1':'A','\u00C2':'A','\u1EA6':'A','\u1EA4':'A','\u1EAA':'A','\u1EA8':'A','\u00C3':'A','\u0100':'A','\u0102':'A','\u1EB0':'A','\u1EAE':'A','\u1EB4':'A','\u1EB2':'A','\u0226':'A','\u01E0':'A','\u00C4':'A','\u01DE':'A','\u1EA2':'A','\u00C5':'A','\u01FA':'A','\u01CD':'A','\u0200':'A','\u0202':'A','\u1EA0':'A','\u1EAC':'A','\u1EB6':'A','\u1E00':'A','\u0104':'A','\u023A':'A','\u2C6F':'A','\uA732':'AA','\u00C6':'AE','\u01FC':'AE','\u01E2':'AE','\uA734':'AO','\uA736':'AU','\uA738':'AV','\uA73A':'AV','\uA73C':'AY','\u24B7':'B','\uFF22':'B','\u1E02':'B','\u1E04':'B','\u1E06':'B','\u0243':'B','\u0182':'B','\u0181':'B','\u24B8':'C','\uFF23':'C','\u0106':'C','\u0108':'C','\u010A':'C','\u010C':'C','\u00C7':'C','\u1E08':'C','\u0187':'C','\u023B':'C','\uA73E':'C','\u24B9':'D','\uFF24':'D','\u1E0A':'D','\u010E':'D','\u1E0C':'D','\u1E10':'D','\u1E12':'D','\u1E0E':'D','\u0110':'D','\u018B':'D','\u018A':'D','\u0189':'D','\uA779':'D','\u01F1':'DZ','\u01C4':'DZ','\u01F2':'Dz','\u01C5':'Dz','\u24BA':'E','\uFF25':'E','\u00C8':'E','\u00C9':'E','\u00CA':'E','\u1EC0':'E','\u1EBE':'E','\u1EC4':'E','\u1EC2':'E','\u1EBC':'E','\u0112':'E','\u1E14':'E','\u1E16':'E','\u0114':'E','\u0116':'E','\u00CB':'E','\u1EBA':'E','\u011A':'E','\u0204':'E','\u0206':'E','\u1EB8':'E','\u1EC6':'E','\u0228':'E','\u1E1C':'E','\u0118':'E','\u1E18':'E','\u1E1A':'E','\u0190':'E','\u018E':'E','\u24BB':'F','\uFF26':'F','\u1E1E':'F','\u0191':'F','\uA77B':'F','\u24BC':'G','\uFF27':'G','\u01F4':'G','\u011C':'G','\u1E20':'G','\u011E':'G','\u0120':'G','\u01E6':'G','\u0122':'G','\u01E4':'G','\u0193':'G','\uA7A0':'G','\uA77D':'G','\uA77E':'G','\u24BD':'H','\uFF28':'H','\u0124':'H','\u1E22':'H','\u1E26':'H','\u021E':'H','\u1E24':'H','\u1E28':'H','\u1E2A':'H','\u0126':'H','\u2C67':'H','\u2C75':'H','\uA78D':'H','\u24BE':'I','\uFF29':'I','\u00CC':'I','\u00CD':'I','\u00CE':'I','\u0128':'I','\u012A':'I','\u012C':'I','\u0130':'I','\u00CF':'I','\u1E2E':'I','\u1EC8':'I','\u01CF':'I','\u0208':'I','\u020A':'I','\u1ECA':'I','\u012E':'I','\u1E2C':'I','\u0197':'I','\u24BF':'J','\uFF2A':'J','\u0134':'J','\u0248':'J','\u24C0':'K','\uFF2B':'K','\u1E30':'K','\u01E8':'K','\u1E32':'K','\u0136':'K','\u1E34':'K','\u0198':'K','\u2C69':'K','\uA740':'K','\uA742':'K','\uA744':'K','\uA7A2':'K','\u24C1':'L','\uFF2C':'L','\u013F':'L','\u0139':'L','\u013D':'L','\u1E36':'L','\u1E38':'L','\u013B':'L','\u1E3C':'L','\u1E3A':'L','\u0141':'L','\u023D':'L','\u2C62':'L','\u2C60':'L','\uA748':'L','\uA746':'L','\uA780':'L','\u01C7':'LJ','\u01C8':'Lj','\u24C2':'M','\uFF2D':'M','\u1E3E':'M','\u1E40':'M','\u1E42':'M','\u2C6E':'M','\u019C':'M','\u24C3':'N','\uFF2E':'N','\u01F8':'N','\u0143':'N','\u00D1':'N','\u1E44':'N','\u0147':'N','\u1E46':'N','\u0145':'N','\u1E4A':'N','\u1E48':'N','\u0220':'N','\u019D':'N','\uA790':'N','\uA7A4':'N','\u01CA':'NJ','\u01CB':'Nj','\u24C4':'O','\uFF2F':'O','\u00D2':'O','\u00D3':'O','\u00D4':'O','\u1ED2':'O','\u1ED0':'O','\u1ED6':'O','\u1ED4':'O','\u00D5':'O','\u1E4C':'O','\u022C':'O','\u1E4E':'O','\u014C':'O','\u1E50':'O','\u1E52':'O','\u014E':'O','\u022E':'O','\u0230':'O','\u00D6':'O','\u022A':'O','\u1ECE':'O','\u0150':'O','\u01D1':'O','\u020C':'O','\u020E':'O','\u01A0':'O','\u1EDC':'O','\u1EDA':'O','\u1EE0':'O','\u1EDE':'O','\u1EE2':'O','\u1ECC':'O','\u1ED8':'O','\u01EA':'O','\u01EC':'O','\u00D8':'O','\u01FE':'O','\u0186':'O','\u019F':'O','\uA74A':'O','\uA74C':'O','\u01A2':'OI','\uA74E':'OO','\u0222':'OU','\u24C5':'P','\uFF30':'P','\u1E54':'P','\u1E56':'P','\u01A4':'P','\u2C63':'P','\uA750':'P','\uA752':'P','\uA754':'P','\u24C6':'Q','\uFF31':'Q','\uA756':'Q','\uA758':'Q','\u024A':'Q','\u24C7':'R','\uFF32':'R','\u0154':'R','\u1E58':'R','\u0158':'R','\u0210':'R','\u0212':'R','\u1E5A':'R','\u1E5C':'R','\u0156':'R','\u1E5E':'R','\u024C':'R','\u2C64':'R','\uA75A':'R','\uA7A6':'R','\uA782':'R','\u24C8':'S','\uFF33':'S','\u1E9E':'S','\u015A':'S','\u1E64':'S','\u015C':'S','\u1E60':'S','\u0160':'S','\u1E66':'S','\u1E62':'S','\u1E68':'S','\u0218':'S','\u015E':'S','\u2C7E':'S','\uA7A8':'S','\uA784':'S','\u24C9':'T','\uFF34':'T','\u1E6A':'T','\u0164':'T','\u1E6C':'T','\u021A':'T','\u0162':'T','\u1E70':'T','\u1E6E':'T','\u0166':'T','\u01AC':'T','\u01AE':'T','\u023E':'T','\uA786':'T','\uA728':'TZ','\u24CA':'U','\uFF35':'U','\u00D9':'U','\u00DA':'U','\u00DB':'U','\u0168':'U','\u1E78':'U','\u016A':'U','\u1E7A':'U','\u016C':'U','\u00DC':'U','\u01DB':'U','\u01D7':'U','\u01D5':'U','\u01D9':'U','\u1EE6':'U','\u016E':'U','\u0170':'U','\u01D3':'U','\u0214':'U','\u0216':'U','\u01AF':'U','\u1EEA':'U','\u1EE8':'U','\u1EEE':'U','\u1EEC':'U','\u1EF0':'U','\u1EE4':'U','\u1E72':'U','\u0172':'U','\u1E76':'U','\u1E74':'U','\u0244':'U','\u24CB':'V','\uFF36':'V','\u1E7C':'V','\u1E7E':'V','\u01B2':'V','\uA75E':'V','\u0245':'V','\uA760':'VY','\u24CC':'W','\uFF37':'W','\u1E80':'W','\u1E82':'W','\u0174':'W','\u1E86':'W','\u1E84':'W','\u1E88':'W','\u2C72':'W','\u24CD':'X','\uFF38':'X','\u1E8A':'X','\u1E8C':'X','\u24CE':'Y','\uFF39':'Y','\u1EF2':'Y','\u00DD':'Y','\u0176':'Y','\u1EF8':'Y','\u0232':'Y','\u1E8E':'Y','\u0178':'Y','\u1EF6':'Y','\u1EF4':'Y','\u01B3':'Y','\u024E':'Y','\u1EFE':'Y','\u24CF':'Z','\uFF3A':'Z','\u0179':'Z','\u1E90':'Z','\u017B':'Z','\u017D':'Z','\u1E92':'Z','\u1E94':'Z','\u01B5':'Z','\u0224':'Z','\u2C7F':'Z','\u2C6B':'Z','\uA762':'Z','\u24D0':'a','\uFF41':'a','\u1E9A':'a','\u00E0':'a','\u00E1':'a','\u00E2':'a','\u1EA7':'a','\u1EA5':'a','\u1EAB':'a','\u1EA9':'a','\u00E3':'a','\u0101':'a','\u0103':'a','\u1EB1':'a','\u1EAF':'a','\u1EB5':'a','\u1EB3':'a','\u0227':'a','\u01E1':'a','\u00E4':'a','\u01DF':'a','\u1EA3':'a','\u00E5':'a','\u01FB':'a','\u01CE':'a','\u0201':'a','\u0203':'a','\u1EA1':'a','\u1EAD':'a','\u1EB7':'a','\u1E01':'a','\u0105':'a','\u2C65':'a','\u0250':'a','\uA733':'aa','\u00E6':'ae','\u01FD':'ae','\u01E3':'ae','\uA735':'ao','\uA737':'au','\uA739':'av','\uA73B':'av','\uA73D':'ay','\u24D1':'b','\uFF42':'b','\u1E03':'b','\u1E05':'b','\u1E07':'b','\u0180':'b','\u0183':'b','\u0253':'b','\u24D2':'c','\uFF43':'c','\u0107':'c','\u0109':'c','\u010B':'c','\u010D':'c','\u00E7':'c','\u1E09':'c','\u0188':'c','\u023C':'c','\uA73F':'c','\u2184':'c','\u24D3':'d','\uFF44':'d','\u1E0B':'d','\u010F':'d','\u1E0D':'d','\u1E11':'d','\u1E13':'d','\u1E0F':'d','\u0111':'d','\u018C':'d','\u0256':'d','\u0257':'d','\uA77A':'d','\u01F3':'dz','\u01C6':'dz','\u24D4':'e','\uFF45':'e','\u00E8':'e','\u00E9':'e','\u00EA':'e','\u1EC1':'e','\u1EBF':'e','\u1EC5':'e','\u1EC3':'e','\u1EBD':'e','\u0113':'e','\u1E15':'e','\u1E17':'e','\u0115':'e','\u0117':'e','\u00EB':'e','\u1EBB':'e','\u011B':'e','\u0205':'e','\u0207':'e','\u1EB9':'e','\u1EC7':'e','\u0229':'e','\u1E1D':'e','\u0119':'e','\u1E19':'e','\u1E1B':'e','\u0247':'e','\u025B':'e','\u01DD':'e','\u24D5':'f','\uFF46':'f','\u1E1F':'f','\u0192':'f','\uA77C':'f','\u24D6':'g','\uFF47':'g','\u01F5':'g','\u011D':'g','\u1E21':'g','\u011F':'g','\u0121':'g','\u01E7':'g','\u0123':'g','\u01E5':'g','\u0260':'g','\uA7A1':'g','\u1D79':'g','\uA77F':'g','\u24D7':'h','\uFF48':'h','\u0125':'h','\u1E23':'h','\u1E27':'h','\u021F':'h','\u1E25':'h','\u1E29':'h','\u1E2B':'h','\u1E96':'h','\u0127':'h','\u2C68':'h','\u2C76':'h','\u0265':'h','\u0195':'hv','\u24D8':'i','\uFF49':'i','\u00EC':'i','\u00ED':'i','\u00EE':'i','\u0129':'i','\u012B':'i','\u012D':'i','\u00EF':'i','\u1E2F':'i','\u1EC9':'i','\u01D0':'i','\u0209':'i','\u020B':'i','\u1ECB':'i','\u012F':'i','\u1E2D':'i','\u0268':'i','\u0131':'i','\u24D9':'j','\uFF4A':'j','\u0135':'j','\u01F0':'j','\u0249':'j','\u24DA':'k','\uFF4B':'k','\u1E31':'k','\u01E9':'k','\u1E33':'k','\u0137':'k','\u1E35':'k','\u0199':'k','\u2C6A':'k','\uA741':'k','\uA743':'k','\uA745':'k','\uA7A3':'k','\u24DB':'l','\uFF4C':'l','\u0140':'l','\u013A':'l','\u013E':'l','\u1E37':'l','\u1E39':'l','\u013C':'l','\u1E3D':'l','\u1E3B':'l','\u017F':'l','\u0142':'l','\u019A':'l','\u026B':'l','\u2C61':'l','\uA749':'l','\uA781':'l','\uA747':'l','\u01C9':'lj','\u24DC':'m','\uFF4D':'m','\u1E3F':'m','\u1E41':'m','\u1E43':'m','\u0271':'m','\u026F':'m','\u24DD':'n','\uFF4E':'n','\u01F9':'n','\u0144':'n','\u00F1':'n','\u1E45':'n','\u0148':'n','\u1E47':'n','\u0146':'n','\u1E4B':'n','\u1E49':'n','\u019E':'n','\u0272':'n','\u0149':'n','\uA791':'n','\uA7A5':'n','\u01CC':'nj','\u24DE':'o','\uFF4F':'o','\u00F2':'o','\u00F3':'o','\u00F4':'o','\u1ED3':'o','\u1ED1':'o','\u1ED7':'o','\u1ED5':'o','\u00F5':'o','\u1E4D':'o','\u022D':'o','\u1E4F':'o','\u014D':'o','\u1E51':'o','\u1E53':'o','\u014F':'o','\u022F':'o','\u0231':'o','\u00F6':'o','\u022B':'o','\u1ECF':'o','\u0151':'o','\u01D2':'o','\u020D':'o','\u020F':'o','\u01A1':'o','\u1EDD':'o','\u1EDB':'o','\u1EE1':'o','\u1EDF':'o','\u1EE3':'o','\u1ECD':'o','\u1ED9':'o','\u01EB':'o','\u01ED':'o','\u00F8':'o','\u01FF':'o','\u0254':'o','\uA74B':'o','\uA74D':'o','\u0275':'o','\u01A3':'oi','\u0223':'ou','\uA74F':'oo','\u24DF':'p','\uFF50':'p','\u1E55':'p','\u1E57':'p','\u01A5':'p','\u1D7D':'p','\uA751':'p','\uA753':'p','\uA755':'p','\u24E0':'q','\uFF51':'q','\u024B':'q','\uA757':'q','\uA759':'q','\u24E1':'r','\uFF52':'r','\u0155':'r','\u1E59':'r','\u0159':'r','\u0211':'r','\u0213':'r','\u1E5B':'r','\u1E5D':'r','\u0157':'r','\u1E5F':'r','\u024D':'r','\u027D':'r','\uA75B':'r','\uA7A7':'r','\uA783':'r','\u24E2':'s','\uFF53':'s','\u00DF':'s','\u015B':'s','\u1E65':'s','\u015D':'s','\u1E61':'s','\u0161':'s','\u1E67':'s','\u1E63':'s','\u1E69':'s','\u0219':'s','\u015F':'s','\u023F':'s','\uA7A9':'s','\uA785':'s','\u1E9B':'s','\u24E3':'t','\uFF54':'t','\u1E6B':'t','\u1E97':'t','\u0165':'t','\u1E6D':'t','\u021B':'t','\u0163':'t','\u1E71':'t','\u1E6F':'t','\u0167':'t','\u01AD':'t','\u0288':'t','\u2C66':'t','\uA787':'t','\uA729':'tz','\u24E4':'u','\uFF55':'u','\u00F9':'u','\u00FA':'u','\u00FB':'u','\u0169':'u','\u1E79':'u','\u016B':'u','\u1E7B':'u','\u016D':'u','\u00FC':'u','\u01DC':'u','\u01D8':'u','\u01D6':'u','\u01DA':'u','\u1EE7':'u','\u016F':'u','\u0171':'u','\u01D4':'u','\u0215':'u','\u0217':'u','\u01B0':'u','\u1EEB':'u','\u1EE9':'u','\u1EEF':'u','\u1EED':'u','\u1EF1':'u','\u1EE5':'u','\u1E73':'u','\u0173':'u','\u1E77':'u','\u1E75':'u','\u0289':'u','\u24E5':'v','\uFF56':'v','\u1E7D':'v','\u1E7F':'v','\u028B':'v','\uA75F':'v','\u028C':'v','\uA761':'vy','\u24E6':'w','\uFF57':'w','\u1E81':'w','\u1E83':'w','\u0175':'w','\u1E87':'w','\u1E85':'w','\u1E98':'w','\u1E89':'w','\u2C73':'w','\u24E7':'x','\uFF58':'x','\u1E8B':'x','\u1E8D':'x','\u24E8':'y','\uFF59':'y','\u1EF3':'y','\u00FD':'y','\u0177':'y','\u1EF9':'y','\u0233':'y','\u1E8F':'y','\u00FF':'y','\u1EF7':'y','\u1E99':'y','\u1EF5':'y','\u01B4':'y','\u024F':'y','\u1EFF':'y','\u24E9':'z','\uFF5A':'z','\u017A':'z','\u1E91':'z','\u017C':'z','\u017E':'z','\u1E93':'z','\u1E95':'z','\u01B6':'z','\u0225':'z','\u0240':'z','\u2C6C':'z','\uA763':'z','\u0386':'\u0391','\u0388':'\u0395','\u0389':'\u0397','\u038A':'\u0399','\u03AA':'\u0399','\u038C':'\u039F','\u038E':'\u03A5','\u03AB':'\u03A5','\u038F':'\u03A9','\u03AC':'\u03B1','\u03AD':'\u03B5','\u03AE':'\u03B7','\u03AF':'\u03B9','\u03CA':'\u03B9','\u0390':'\u03B9','\u03CC':'\u03BF','\u03CD':'\u03C5','\u03CB':'\u03C5','\u03B0':'\u03C5','\u03C9':'\u03C9','\u03C2':'\u03C3'};return diacritics;});S2.define('select2/data/base',['../utils'],function(Utils){function BaseAdapter($element,options){BaseAdapter.__super__.constructor.call(this);} Utils.Extend(BaseAdapter,Utils.Observable);BaseAdapter.prototype.current=function(callback){throw new Error('The `current` method must be defined in child classes.');};BaseAdapter.prototype.query=function(params,callback){throw new Error('The `query` method must be defined in child classes.');};BaseAdapter.prototype.bind=function(container,$container){};BaseAdapter.prototype.destroy=function(){};BaseAdapter.prototype.generateResultId=function(container,data){var id=container.id+'-result-';id+=Utils.generateChars(4);if(data.id!=null){id+='-'+data.id.toString();}else{id+='-'+Utils.generateChars(4);} @@ -1320,7 +1323,7 @@ for(var d=0;d0&&count>=self.maximumSelectionLength){self.trigger('results:message',{message:'maximumSelected',args:{maximum:self.maximumSelectionLength}});return;} decorated.call(self,params,callback);});};return MaximumSelectionLength;});S2.define('select2/dropdown',['jquery','./utils'],function($,Utils){function Dropdown($element,options){this.$element=$element;this.options=options;Dropdown.__super__.constructor.call(this);} Utils.Extend(Dropdown,Utils.Observable);Dropdown.prototype.render=function(){var $dropdown=$(''+''+'');$dropdown.attr('dir',this.options.get('dir'));this.$dropdown=$dropdown;return $dropdown;};Dropdown.prototype.position=function($dropdown,$container){};Dropdown.prototype.destroy=function(){this.$dropdown.remove();};return Dropdown;});S2.define('select2/dropdown/search',['jquery','../utils'],function($,Utils){function Search(){} -Search.prototype.render=function(decorated){var $rendered=decorated.call(this);var $search=$(''+''+'');this.$searchContainer=$search;this.$search=$search.find('input');$rendered.prepend($search);return $rendered;};Search.prototype.bind=function(decorated,container,$container){var self=this;decorated.call(this,container,$container);this.$search.on('keydown',function(evt){self.trigger('keypress',evt);self._keyUpPrevented=evt.isDefaultPrevented();});this.$search.on('input',function(evt){$(this).off('keyup');});this.$search.on('keyup input',function(evt){self.handleSearch(evt);});container.on('open',function(){self.$search.attr('tabindex',0);self.$search.focus();window.setTimeout(function(){self.$search.focus();},0);});container.on('close',function(){self.$search.attr('tabindex',-1);self.$search.val('');});container.on('results:all',function(params){if(params.query.term==null||params.query.term===''){var showSearch=self.showSearch(params);if(showSearch){self.$searchContainer.removeClass('select2-search--hide');}else{self.$searchContainer.addClass('select2-search--hide');}}});};Search.prototype.handleSearch=function(evt){if(!this._keyUpPrevented){var input=this.$search.val();this.trigger('query',{term:input});} +Search.prototype.render=function(decorated){var $rendered=decorated.call(this);var $search=$(''+''+'');this.$searchContainer=$search;this.$search=$search.find('input');$rendered.prepend($search);return $rendered;};Search.prototype.bind=function(decorated,container,$container){var self=this;decorated.call(this,container,$container);this.$search.on('keydown',function(evt){self.trigger('keypress',evt);self._keyUpPrevented=false;});this.$search.on('input',function(evt){$(this).off('keyup');});this.$search.on('keyup input',function(evt){self.handleSearch(evt);});container.on('open',function(){self.$search.attr('tabindex',0);self.$search.focus();window.setTimeout(function(){self.$search.focus();},0);});container.on('close',function(){self.$search.attr('tabindex',-1);self.$search.val('');});container.on('results:all',function(params){if(params.query.term==null||params.query.term===''){var showSearch=self.showSearch(params);if(showSearch){self.$searchContainer.removeClass('select2-search--hide');}else{self.$searchContainer.addClass('select2-search--hide');}}});};Search.prototype.handleSearch=function(evt){if(!this._keyUpPrevented){var input=this.$search.val();this.trigger('query',{term:input});} this._keyUpPrevented=false;};Search.prototype.showSearch=function(_,params){return true;};return Search;});S2.define('select2/dropdown/hidePlaceholder',[],function(){function HidePlaceholder(decorated,$element,options,dataAdapter){this.placeholder=this.normalizePlaceholder(options.get('placeholder'));decorated.call(this,$element,options,dataAdapter);} HidePlaceholder.prototype.append=function(decorated,data){data.results=this.removePlaceholder(data.results);decorated.call(this,data);};HidePlaceholder.prototype.normalizePlaceholder=function(_,placeholder){if(typeof placeholder==='string'){placeholder={id:'',text:placeholder};} return placeholder;};HidePlaceholder.prototype.removePlaceholder=function(_,data){var modifiedData=data.slice(0);for(var d=data.length-1;d>=0;d--){var item=data[d];if(this.placeholder.id===item.id){modifiedData.splice(d,1);}} @@ -1437,14 +1440,15 @@ if(method=='style'){var style=$element.attr('style');if(typeof(style)!=='string' var attrs=style.split(';');for(var i=0,l=attrs.length;i=1){return matches[1];}} return null;} return method;};Select2.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container);this.selection.bind(this,this.$container);this.dropdown.bind(this,this.$container);this.results.bind(this,this.$container);};Select2.prototype._registerDomEvents=function(){var self=this;this.$element.on('change.select2',function(){self.dataAdapter.current(function(data){self.trigger('selection:update',{data:data});});});this._sync=Utils.bind(this._syncAttributes,this);if(this.$element[0].attachEvent){this.$element[0].attachEvent('onpropertychange',this._sync);} -var observer=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(observer!=null){this._observer=new observer(function(mutations){$.each(mutations,self._sync);});this._observer.observe(this.$element[0],{attributes:true,subtree:false});}else if(this.$element[0].addEventListener){this.$element[0].addEventListener('DOMAttrModified',self._sync,false);}};Select2.prototype._registerDataEvents=function(){var self=this;this.dataAdapter.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerSelectionEvents=function(){var self=this;var nonRelayEvents=['toggle'];this.selection.on('toggle',function(){self.toggleDropdown();});this.selection.on('*',function(name,params){if($.inArray(name,nonRelayEvents)!==-1){return;} -self.trigger(name,params);});};Select2.prototype._registerDropdownEvents=function(){var self=this;this.dropdown.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerResultsEvents=function(){var self=this;this.results.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerEvents=function(){var self=this;this.on('open',function(){self.$container.addClass('select2-container--open');});this.on('close',function(){self.$container.removeClass('select2-container--open');});this.on('enable',function(){self.$container.removeClass('select2-container--disabled');});this.on('disable',function(){self.$container.addClass('select2-container--disabled');});this.on('focus',function(){self.$container.addClass('select2-container--focus');});this.on('blur',function(){self.$container.removeClass('select2-container--focus');});this.on('query',function(params){if(!self.isOpen()){self.trigger('open');} -this.dataAdapter.query(params,function(data){self.trigger('results:all',{data:data,query:params});});});this.on('query:append',function(params){this.dataAdapter.query(params,function(data){self.trigger('results:append',{data:data,query:params});});});this.on('keypress',function(evt){var key=evt.which;if(self.isOpen()){if(key===KEYS.ENTER){self.trigger('results:select');evt.preventDefault();}else if((key===KEYS.SPACE&&evt.ctrlKey)){self.trigger('results:toggle');evt.preventDefault();}else if(key===KEYS.UP){self.trigger('results:previous');evt.preventDefault();}else if(key===KEYS.DOWN){self.trigger('results:next');evt.preventDefault();}else if(key===KEYS.ESC||key===KEYS.TAB){self.close();evt.preventDefault();}}else{if(key===KEYS.ENTER||key===KEYS.SPACE||((key===KEYS.DOWN||key===KEYS.UP)&&evt.altKey)){self.open();evt.preventDefault();}}});};Select2.prototype._syncAttributes=function(){this.options.set('disabled',this.$element.prop('disabled'));if(this.options.get('disabled')){if(this.isOpen()){this.close();} +var observer=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(observer!=null){this._observer=new observer(function(mutations){$.each(mutations,self._sync);});this._observer.observe(this.$element[0],{attributes:true,subtree:false});}else if(this.$element[0].addEventListener){this.$element[0].addEventListener('DOMAttrModified',self._sync,false);}};Select2.prototype._registerDataEvents=function(){var self=this;this.dataAdapter.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerSelectionEvents=function(){var self=this;var nonRelayEvents=['toggle','focus'];this.selection.on('toggle',function(){self.toggleDropdown();});this.selection.on('focus',function(params){self.focus(params);});this.selection.on('*',function(name,params){if($.inArray(name,nonRelayEvents)!==-1){return;} +self.trigger(name,params);});};Select2.prototype._registerDropdownEvents=function(){var self=this;this.dropdown.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerResultsEvents=function(){var self=this;this.results.on('*',function(name,params){self.trigger(name,params);});};Select2.prototype._registerEvents=function(){var self=this;this.on('open',function(){self.$container.addClass('select2-container--open');});this.on('close',function(){self.$container.removeClass('select2-container--open');});this.on('enable',function(){self.$container.removeClass('select2-container--disabled');});this.on('disable',function(){self.$container.addClass('select2-container--disabled');});this.on('blur',function(){self.$container.removeClass('select2-container--focus');});this.on('query',function(params){if(!self.isOpen()){self.trigger('open');} +this.dataAdapter.query(params,function(data){self.trigger('results:all',{data:data,query:params});});});this.on('query:append',function(params){this.dataAdapter.query(params,function(data){self.trigger('results:append',{data:data,query:params});});});this.on('keypress',function(evt){var key=evt.which;if(self.isOpen()){if(key===KEYS.ESC||key===KEYS.TAB||(key===KEYS.UP&&evt.altKey)){self.close();evt.preventDefault();}else if(key===KEYS.ENTER){self.trigger('results:select');evt.preventDefault();}else if((key===KEYS.SPACE&&evt.ctrlKey)){self.trigger('results:toggle');evt.preventDefault();}else if(key===KEYS.UP){self.trigger('results:previous');evt.preventDefault();}else if(key===KEYS.DOWN){self.trigger('results:next');evt.preventDefault();}}else{if(key===KEYS.ENTER||key===KEYS.SPACE||(key===KEYS.DOWN&&evt.altKey)){self.open();evt.preventDefault();}}});};Select2.prototype._syncAttributes=function(){this.options.set('disabled',this.$element.prop('disabled'));if(this.options.get('disabled')){if(this.isOpen()){this.close();} this.trigger('disable');}else{this.trigger('enable');}};Select2.prototype.trigger=function(name,args){var actualTrigger=Select2.__super__.trigger;var preTriggerMap={'open':'opening','close':'closing','select':'selecting','unselect':'unselecting'};if(name in preTriggerMap){var preTriggerName=preTriggerMap[name];var preTriggerArgs={prevented:false,name:name,args:args};actualTrigger.call(this,preTriggerName,preTriggerArgs);if(preTriggerArgs.prevented){args.prevented=true;return;}} actualTrigger.call(this,name,args);};Select2.prototype.toggleDropdown=function(){if(this.options.get('disabled')){return;} if(this.isOpen()){this.close();}else{this.open();}};Select2.prototype.open=function(){if(this.isOpen()){return;} this.trigger('query',{});this.trigger('open');};Select2.prototype.close=function(){if(!this.isOpen()){return;} -this.trigger('close');};Select2.prototype.isOpen=function(){return this.$container.hasClass('select2-container--open');};Select2.prototype.enable=function(args){if(this.options.get('debug')&&window.console&&console.warn){console.warn('Select2: The `select2("enable")` method has been deprecated and will'+' be removed in later Select2 versions. Use $element.prop("disabled")'+' instead.');} +this.trigger('close');};Select2.prototype.isOpen=function(){return this.$container.hasClass('select2-container--open');};Select2.prototype.hasFocus=function(){return this.$container.hasClass('select2-container--focus');};Select2.prototype.focus=function(data){if(this.hasFocus()){return;} +this.$container.addClass('select2-container--focus');this.trigger('focus');};Select2.prototype.enable=function(args){if(this.options.get('debug')&&window.console&&console.warn){console.warn('Select2: The `select2("enable")` method has been deprecated and will'+' be removed in later Select2 versions. Use $element.prop("disabled")'+' instead.');} if(args==null||args.length===0){args=[true];} var disabled=!args[0];this.$element.prop('disabled',disabled);};Select2.prototype.data=function(){if(this.options.get('debug')&&arguments.length>0&&window.console&&console.warn){console.warn('Select2: Data can no longer be set using `select2("data")`. You '+'should consider setting the value instead using `$element.val()`.');} var data=[];this.dataAdapter.current(function(currentData){data=currentData;});return data;};Select2.prototype.val=function(args){if(this.options.get('debug')&&window.console&&console.warn){console.warn('Select2: The `select2("val")` method has been deprecated and will be'+' removed in later Select2 versions. Use $element.val() instead.');} @@ -1458,13 +1462,13 @@ $dest.attr('class',replacements.join(' '));} return{syncCssClasses:syncCssClasses};});S2.define('select2/compat/containerCss',['jquery','./utils'],function($,CompatUtils){function _containerAdapter(clazz){return null;} function ContainerCSS(){} ContainerCSS.prototype.render=function(decorated){var $container=decorated.call(this);var containerCssClass=this.options.get('containerCssClass')||'';if($.isFunction(containerCssClass)){containerCssClass=containerCssClass(this.$element);} -var containerCssAdapter=this.options.get('adaptContainerCssClass');containerCssAdapter=containerCssAdapter||_containerAdapter;if(containerCssClass.indexOf(':all:')!==-1){containerCssClass=containerCssClass.replace(':all','');var _cssAdapter=containerCssAdapter;containerCssAdapter=function(clazz){var adapted=_cssAdapter(clazz);if(adapted!=null){return adapted+' '+clazz;} +var containerCssAdapter=this.options.get('adaptContainerCssClass');containerCssAdapter=containerCssAdapter||_containerAdapter;if(containerCssClass.indexOf(':all:')!==-1){containerCssClass=containerCssClass.replace(':all:','');var _cssAdapter=containerCssAdapter;containerCssAdapter=function(clazz){var adapted=_cssAdapter(clazz);if(adapted!=null){return adapted+' '+clazz;} return clazz;};} var containerCss=this.options.get('containerCss')||{};if($.isFunction(containerCss)){containerCss=containerCss(this.$element);} CompatUtils.syncCssClasses($container,this.$element,containerCssAdapter);$container.css(containerCss);$container.addClass(containerCssClass);return $container;};return ContainerCSS;});S2.define('select2/compat/dropdownCss',['jquery','./utils'],function($,CompatUtils){function _dropdownAdapter(clazz){return null;} function DropdownCSS(){} DropdownCSS.prototype.render=function(decorated){var $dropdown=decorated.call(this);var dropdownCssClass=this.options.get('dropdownCssClass')||'';if($.isFunction(dropdownCssClass)){dropdownCssClass=dropdownCssClass(this.$element);} -var dropdownCssAdapter=this.options.get('adaptDropdownCssClass');dropdownCssAdapter=dropdownCssAdapter||_dropdownAdapter;if(dropdownCssClass.indexOf(':all:')!==-1){dropdownCssClass=dropdownCssClass.replace(':all','');var _cssAdapter=dropdownCssAdapter;dropdownCssAdapter=function(clazz){var adapted=_cssAdapter(clazz);if(adapted!=null){return adapted+' '+clazz;} +var dropdownCssAdapter=this.options.get('adaptDropdownCssClass');dropdownCssAdapter=dropdownCssAdapter||_dropdownAdapter;if(dropdownCssClass.indexOf(':all:')!==-1){dropdownCssClass=dropdownCssClass.replace(':all:','');var _cssAdapter=dropdownCssAdapter;dropdownCssAdapter=function(clazz){var adapted=_cssAdapter(clazz);if(adapted!=null){return adapted+' '+clazz;} return clazz;};} var dropdownCss=this.options.get('dropdownCss')||{};if($.isFunction(dropdownCss)){dropdownCss=dropdownCss(this.$element);} CompatUtils.syncCssClasses($dropdown,this.$element,dropdownCssAdapter);$dropdown.css(dropdownCss);$dropdown.addClass(dropdownCssClass);return $dropdown;};return DropdownCSS;});S2.define('select2/compat/initSelection',['jquery'],function($){function InitSelection(decorated,$element,options){if(options.get('debug')&&window.console&&console.warn){console.warn('Select2: The `initSelection` option has been deprecated in favor'+' of a custom data adapter that overrides the `current` method. '+'This method is now called multiple times instead of a single '+'time when the instance is initialized. Support will be removed '+'for the `initSelection` option in future versions of Select2');} @@ -4381,7 +4385,38 @@ $.fn.tab.Constructor=Tab $.fn.tab.noConflict=function(){$.fn.tab=old return this} $(document).on('click.bs.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]',function(e){e.preventDefault() -$(this).tab('show')})}(jQuery);+function($){"use strict";var Tab=function(element,options){var $el=this.$el=$(element);this.options=options||{} +$(this).tab('show')})}(jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype +var Toolbar=function(element,options){var +$el=this.$el=$(element),$toolbar=$el.closest('.control-toolbar') +$.oc.foundation.controlUtils.markDisposable(element) +this.$toolbar=$toolbar +this.options=options||{};Base.call(this) +var scrollClassContainer=options.scrollClassContainer!==undefined?options.scrollClassContainer:$el.parent() +$el.dragScroll({scrollClassContainer:scrollClassContainer}) +$('.form-control.growable',$toolbar).on('focus.toolbar',function(){update()}) +$('.form-control.growable',$toolbar).on('blur.toolbar',function(){update()}) +this.$el.one('dispose-control',this.proxy(this.dispose)) +function update(){$(window).trigger('resize')}} +Toolbar.prototype=Object.create(BaseProto) +Toolbar.prototype.constructor=Toolbar +Toolbar.prototype.dispose=function(){this.$el.off('dispose-control',this.proxy(this.dispose)) +$('.form-control.growable',this.$toolbar).off('.toolbar') +this.$el.dragScroll('dispose') +this.$el.removeData('oc.toolbar') +this.$el=null +BaseProto.dispose.call(this)} +Toolbar.DEFAULTS={} +var old=$.fn.toolbar +$.fn.toolbar=function(option){var args=Array.prototype.slice.call(arguments,1) +return this.each(function(){var $this=$(this) +var data=$this.data('oc.toolbar') +var options=$.extend({},Toolbar.DEFAULTS,$this.data(),typeof option=='object'&&option) +if(!data)$this.data('oc.toolbar',(data=new Toolbar(this,options))) +if(typeof option=='string')data[option].apply(data,args)})} +$.fn.toolbar.Constructor=Toolbar +$.fn.toolbar.noConflict=function(){$.fn.toolbar=old +return this} +$(document).on('render',function(){$('[data-control=toolbar]').toolbar()})}(window.jQuery);+function($){"use strict";var Tab=function(element,options){var $el=this.$el=$(element);this.options=options||{} this.$tabsContainer=$('.nav-tabs',$el) this.$pagesContainer=$('.tab-content',$el) this.tabId='tabs'+$el.parents().length+Math.round(Math.random()*1000);if(this.options.closable!==undefined&&this.options.closable!==false) diff --git a/modules/backend/assets/less/layout/fancylayout.less b/modules/backend/assets/less/layout/fancylayout.less index 7de14984f..97770de88 100644 --- a/modules/backend/assets/less/layout/fancylayout.less +++ b/modules/backend/assets/less/layout/fancylayout.less @@ -33,7 +33,7 @@ } .control-tabs, &.control-tabs { - &.master { + &.master-tabs { overflow: hidden; &:before, &:after { @@ -178,7 +178,7 @@ } } - &.secondary { + &.secondary-tabs { > div > ul.nav-tabs { background: @color-fancy-secondary-tabs-bg; > li { @@ -215,7 +215,7 @@ } } - &.content-tabs { + &.secondary-content-tabs { > div > ul.nav-tabs { background: @body-bg; @@ -308,7 +308,7 @@ } } - &.primary { + &.primary-tabs { > div > ul.nav-tabs { background: @color-fancy-primary-tabs-bg; margin-left: 0!important; @@ -559,7 +559,7 @@ } } - .content-tabs .field-richeditor { + .secondary-content-tabs .field-richeditor { .redactor-box .redactor-toolbar { margin: 20px 20px 0 20px!important; .border-radius(3px)!important; diff --git a/modules/backend/assets/less/layout/layout.less b/modules/backend/assets/less/layout/layout.less index 0927e594b..25b7e5bc0 100644 --- a/modules/backend/assets/less/layout/layout.less +++ b/modules/backend/assets/less/layout/layout.less @@ -42,6 +42,25 @@ body { height: 100%; } +// +// Tabs override for Layout +// Primary tabs should use inset by default, unless otherwise specified +// -------------------------------------------------- + +.control-tabs.primary-tabs { + > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { + margin-left: -20px; + margin-right: -20px; + } + + &.tabs-no-inset { + > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { + margin-left: 0; + margin-right: 0; + } + } +} + // // Flexible layout system // -------------------------------------------------- diff --git a/modules/backend/layouts/auth.htm b/modules/backend/layouts/auth.htm index bb371ec42..c3a1fa0c8 100644 --- a/modules/backend/layouts/auth.htm +++ b/modules/backend/layouts/auth.htm @@ -3,21 +3,16 @@ + + + <?= e(trans('backend::lang.auth.title')) ?> - - - + - - makeAssets() ?> makeLayoutPartial('custom_styles') ?> diff --git a/modules/backend/models/BrandSettings.php b/modules/backend/models/BrandSettings.php index ca9895c15..da4c779d8 100644 --- a/modules/backend/models/BrandSettings.php +++ b/modules/backend/models/BrandSettings.php @@ -172,10 +172,10 @@ class BrandSettings extends Model * Compile CSS */ $css = ''; - $css .= '.fancy-layout .control-tabs.master > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,'; - $css .= '.fancy-layout.control-tabs.master > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,'; - $css .= '.fancy-layout .control-tabs.master > div > div.tabs-container > ul.nav-tabs > li a > span.title:after,'; - $css .= '.fancy-layout.control-tabs.master > div > div.tabs-container > ul.nav-tabs > li a > span.title:after {'; + $css .= '.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,'; + $css .= '.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:before,'; + $css .= '.fancy-layout .control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after,'; + $css .= '.fancy-layout.control-tabs.master-tabs > div > div.tabs-container > ul.nav-tabs > li a > span.title:after {'; $css .= "background-image: url('".$svg."')}"; return $css; diff --git a/modules/backend/models/brandsettings/custom.less b/modules/backend/models/brandsettings/custom.less index b7f15c7d6..6da1c6646 100644 --- a/modules/backend/models/brandsettings/custom.less +++ b/modules/backend/models/brandsettings/custom.less @@ -116,13 +116,13 @@ table.table.data { .fancy-layout { .control-tabs, &.control-tabs { - &.master { + &.master-tabs { > div > div.tabs-container { background: @color-fancy-master-tabs-bg; } } - &.secondary { + &.secondary-tabs { &.content-tabs { &.primary-collapsed { > div > ul.nav-tabs { @@ -132,7 +132,7 @@ table.table.data { } } - &.primary { + &.primary-tabs { > div > ul.nav-tabs { &.master-area { background: @color-fancy-form-tabless-fields-bg; @@ -140,7 +140,7 @@ table.table.data { } } - &.master { + &.master-tabs { > div > div.tabs-container > ul.nav-tabs > li { a > span.title { background-color: @color-fancy-form-inactive-tab; @@ -184,7 +184,7 @@ div.control-componentlist { .fancy-layout { .control-tabs, &.control-tabs { - &.primary { + &.primary-tabs { > div > ul.nav-tabs { &.component-area { background: @color-component-list-bg; diff --git a/modules/backend/widgets/form/partials/_section.htm b/modules/backend/widgets/form/partials/_section.htm index 2ee37a426..f311c3720 100644 --- a/modules/backend/widgets/form/partials/_section.htm +++ b/modules/backend/widgets/form/partials/_section.htm @@ -21,7 +21,7 @@
    makePartial('form_tabs', ['tabs' => $tabs]) ?> diff --git a/modules/backend/widgets/lists/assets/js/october.list.js b/modules/backend/widgets/lists/assets/js/october.list.js index cbd1ed14e..7b62c8612 100644 --- a/modules/backend/widgets/lists/assets/js/october.list.js +++ b/modules/backend/widgets/lists/assets/js/october.list.js @@ -106,9 +106,21 @@ return this } + // LIST WIDGET HELPERS + // ================= + + if ($.oc === undefined) + $.oc = {} + + $.oc.listToggleChecked = function(el) { + $(el) + .closest('[data-control="listwidget"]') + .listWidget('toggleChecked', el) + } + // LIST WIDGET DATA-API // ============== - + $(document).render(function(){ $('[data-control="listwidget"]').listWidget(); }) diff --git a/modules/cms/assets/css/october.components.css b/modules/cms/assets/css/october.components.css index 386e2fbf5..e007994dd 100644 --- a/modules/cms/assets/css/october.components.css +++ b/modules/cms/assets/css/october.components.css @@ -326,8 +326,8 @@ div.control-componentlist div.components div.layout-cell.adding > div { text-shadow: 0 0 1px #475354 !important; color: #ffffff !important; } -.fancy-layout .control-tabs.primary > div > ul.nav-tabs.component-area, -.fancy-layout.control-tabs.primary > div > ul.nav-tabs.component-area { +.fancy-layout .control-tabs.primary-tabs > div > ul.nav-tabs.component-area, +.fancy-layout.control-tabs.primary-tabs > div > ul.nav-tabs.component-area { background: #2c3e50; } body.drag div.control-componentlist div.components div.layout-cell > div, diff --git a/modules/cms/assets/js/october.cmspage.js b/modules/cms/assets/js/october.cmspage.js index 328f7e1d5..5058c0a01 100644 --- a/modules/cms/assets/js/october.cmspage.js +++ b/modules/cms/assets/js/october.cmspage.js @@ -120,7 +120,7 @@ var $el = $(element), $panel = $el.closest('.form-tabless-fields.collapsed'), - $primaryPanel = $el.closest('.control-tabs.primary.collapsed') + $primaryPanel = $el.closest('.control-tabs.primary-tabs.collapsed') if ($panel.length > 0) $panel.removeClass('collapsed') @@ -129,7 +129,7 @@ $primaryPanel.removeClass('collapsed') var pane = $primaryPanel.closest('.tab-pane'), - $secondaryPanel = $('.control-tabs.secondary', pane) + $secondaryPanel = $('.control-tabs.secondary-tabs', pane) $secondaryPanel.removeClass('primary-collapsed') } @@ -208,8 +208,8 @@ }) var $primaryCollapseIcon = $(''), - $primaryPanel = $('.control-tabs.primary', data.pane), - $secondaryPanel = $('.control-tabs.secondary', data.pane), + $primaryPanel = $('.control-tabs.primary-tabs', data.pane), + $secondaryPanel = $('.control-tabs.secondary-tabs', data.pane), $primaryTabContainer = $('.nav-tabs', $primaryPanel) $primaryTabContainer.addClass('master-area') @@ -511,7 +511,7 @@ CmsPage.prototype.updateComponentListClass = function(pane) { var $componentList = $('.control-componentlist', pane), - $primaryPanel = $('.control-tabs.primary', pane), + $primaryPanel = $('.control-tabs.primary-tabs', pane), $primaryTabContainer = $('.nav-tabs', $primaryPanel), hasComponents = $('.layout', $componentList).children(':not(.hidden)').length > 0 @@ -554,11 +554,11 @@ CmsPage.prototype.updateModifiedCounter = function() { var counters = { - page: {menu: 'pages', count: 0}, - partial: {menu: 'partials', count: 0}, - layout: {menu: 'layouts', count: 0}, - content: {menu: 'content', count: 0}, - asset:{menu: 'assets', count: 0} + page: { menu: 'pages', count: 0 }, + partial: { menu: 'partials', count: 0 }, + layout: { menu: 'layouts', count: 0 }, + content: { menu: 'content', count: 0 }, + asset: { menu: 'assets', count: 0} } $('> div.tab-content > div.tab-pane[data-modified]', '#cms-master-tabs').each(function(){ diff --git a/modules/cms/assets/less/october.components.less b/modules/cms/assets/less/october.components.less index 2aec9be46..4786b6529 100644 --- a/modules/cms/assets/less/october.components.less +++ b/modules/cms/assets/less/october.components.less @@ -354,7 +354,7 @@ div.control-componentlist { .fancy-layout { .control-tabs, &.control-tabs { - &.primary { + &.primary-tabs { > div > ul.nav-tabs { &.component-area { background: @color-component-list-bg; diff --git a/modules/cms/controllers/index/index.htm b/modules/cms/controllers/index/index.htm index 56aa5368d..34ce6713e 100644 --- a/modules/cms/controllers/index/index.htm +++ b/modules/cms/controllers/index/index.htm @@ -15,7 +15,7 @@ data-pane-classes="layout-cell" data-max-title-symbols="15" data-title-as-file-names="true" - class="layout control-tabs master fancy-layout oc-bg-logo" + class="layout control-tabs master-tabs fancy-layout oc-bg-logo" id="cms-master-tabs">
    diff --git a/modules/system/assets/css/updates/details.css b/modules/system/assets/css/updates/details.css new file mode 100644 index 000000000..4df6b3f9f --- /dev/null +++ b/modules/system/assets/css/updates/details.css @@ -0,0 +1,53 @@ +.plugin-details-content { + padding: 0 0; +} +.plugin-details-content > *:first-child { + margin-top: 0; +} +.plugin-details-content h1 { + font-size: 28px; +} +.plugin-details-content h2 { + font-size: 24px; +} +.plugin-details-content h3 { + font-size: 20px; +} +.plugin-details-content h4 { + font-size: 17px; +} +.plugin-details-content h1, +.plugin-details-content h2 { + padding-bottom: 10px; + border-bottom: 1px solid #ccc; +} +.plugin-details-content ul, +.plugin-details-content ol { + padding-left: 20px; +} +.plugin-details-content pre { + display: block; + padding: 10px 10px 10px 20px; + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + color: #fff; + background-color: #333; + margin-top: 10px; + margin-bottom: 20px; + margin-left: -20px; + margin-right: -20px; +} +.plugin-details-content pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.plugin-details-content ul pre, +.plugin-details-content ol pre { + margin-left: -40px; + padding-left: 40px; +} diff --git a/modules/system/assets/css/updates/install.css b/modules/system/assets/css/updates/install.css index 904a3bdd1..3d687efe1 100644 --- a/modules/system/assets/css/updates/install.css +++ b/modules/system/assets/css/updates/install.css @@ -196,7 +196,7 @@ display: block; width: 24px; height: 24px; - background-image: url(../../../../system/assets/ui/images/loader-transparent.svg); + background-image: url('../../../../system/assets/ui/images/loader-transparent.svg'); background-size: 24px 24px; background-position: 50% 50%; -webkit-animation: spin 1s linear infinite; diff --git a/modules/system/assets/css/updates/updates.css b/modules/system/assets/css/updates/updates.css index c7f3b1507..fdbf72d7a 100644 --- a/modules/system/assets/css/updates/updates.css +++ b/modules/system/assets/css/updates/updates.css @@ -1,3 +1,6 @@ +.important-update-label { + margin: 7px 0; +} .control-updatelist { border: 1px solid #ccc; margin-bottom: 20px; @@ -8,11 +11,11 @@ .control-updatelist .update-item .item-header { background-color: #f5f5f5; border-bottom: 1px solid #ccc; - padding: 15px 10px; + padding: 0 10px; } .control-updatelist .update-item .item-header h5 { margin: 0; - padding: 0; + padding: 15px 0; text-transform: uppercase; font-size: 13px; } @@ -26,10 +29,13 @@ line-height: 13px; margin-right: 5px; } +.control-updatelist .update-item .item-header .important-update { + padding: 7px 0 0 0; + float: right; +} .control-updatelist .update-item dl { padding: 10px; margin-bottom: 0; - font-size: 12px; } .control-updatelist .update-item dl:before, .control-updatelist .update-item dl:after { @@ -43,12 +49,37 @@ .control-updatelist .update-item dl dd { float: left; padding: 5px 0; + line-height: 20px; +} +.control-updatelist .update-item dl dt.text-muted, +.control-updatelist .update-item dl dd.text-muted { + color: #999 !important; } .control-updatelist .update-item dl dt { width: 15%; + clear: left; + font-size: 14px; + font-weight: 400; + color: #2b3e50; } .control-updatelist .update-item dl dd { width: 85%; + font-size: 12px; + color: #455152; +} +.control-updatelist .update-item dl .important-update-label { + position: relative; + top: -1px; + background-color: #ab2a1c; + color: #fff; + display: inline-block; + padding: .2em .6em .3em; + font-size: 75%; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; } .control-updatelist .update-item:last-child { border-bottom: none; @@ -56,6 +87,27 @@ .control-updatelist .update-item.item-danger .item-header { background-color: #f2dede; } -.control-updatelist .update-item.item-danger dl { +.control-updatelist .update-item.item-danger .item-header h5, +.control-updatelist .update-item.item-danger .item-header i, +.control-updatelist .update-item.item-danger .item-header { color: #a94442; } +.control-updatelist .update-item.item-success .item-header { + background-color: #dff0d8; +} +.control-updatelist .update-item.item-success .item-header h5, +.control-updatelist .update-item.item-success .item-header i, +.control-updatelist .update-item.item-success .item-header { + color: #3c763d; +} +.control-updatelist .update-item.item-muted { + border-bottom: none; +} +.control-updatelist .update-item.item-muted .item-header h5, +.control-updatelist .update-item.item-muted .item-header i, +.control-updatelist .update-item.item-muted .item-header { + color: rgba(0, 0, 0, 0.35); +} +.control-updatelist .update-item.item-muted dl { + display: none; +} diff --git a/modules/system/assets/js/updates/updates.js b/modules/system/assets/js/updates/updates.js index c2402bf49..9665c60e3 100644 --- a/modules/system/assets/js/updates/updates.js +++ b/modules/system/assets/js/updates/updates.js @@ -19,6 +19,55 @@ this.updateSteps = null } + UpdateProcess.prototype.check = function() { + var $form = $('#updateForm'), + self = this + + $form.request('onCheckForUpdates').done(function() { + self.evalConfirmedUpdates() + }) + + $form.on('change', '[data-important-update-select]', function() { + var $el = $(this), + selectedValue = $el.val(), + $updateItem = $el.closest('.update-item') + + $updateItem.removeClass('item-danger item-muted item-success') + + if (selectedValue == 'confirm') { + $updateItem.addClass('item-success') + } + else if (selectedValue == 'ignore' || selectedValue == 'skip') { + $updateItem.addClass('item-muted') + } + else { + $updateItem.addClass('item-danger') + } + + self.evalConfirmedUpdates() + }) + } + + UpdateProcess.prototype.evalConfirmedUpdates = function() { + var $form = $('#updateForm'), + hasConfirmed = false + + $('[data-important-update-select]', $form).each(function() { + if ($(this).val() == '') { + hasConfirmed = true + } + }) + + if (hasConfirmed) { + $('#updateListUpdateButton').prop('disabled', true) + $('#updateListImportantLabel').show() + } + else { + $('#updateListUpdateButton').prop('disabled', false) + $('#updateListImportantLabel').hide() + } + } + UpdateProcess.prototype.execute = function(steps) { this.updateSteps = steps this.runUpdate() diff --git a/modules/system/assets/less/updates/details.less b/modules/system/assets/less/updates/details.less new file mode 100644 index 000000000..e3a6d3ece --- /dev/null +++ b/modules/system/assets/less/updates/details.less @@ -0,0 +1,51 @@ +@import "../../../../backend/assets/less/core/boot.less"; + +@padding-standard: 20px; +@padding-container: 0; + +.plugin-details-content { + padding: 0 @padding-container; + + > *:first-child { + margin-top: 0; + } + + h1 { font-size: @font-size-h1 - 8; } + h2 { font-size: @font-size-h2 - 6; } + h3 { font-size: @font-size-h3 - 4; } + h4 { font-size: @font-size-h4 - 1; } + + h1, h2 { padding-bottom: 10px; border-bottom: 1px solid #ccc; } + + ul, ol { + padding-left: @padding-standard; + } + + pre { + display: block; + padding: 10px 10px 10px (@padding-standard + @padding-container); + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + color: #fff; + background-color: #333; + margin-top: 10px; + margin-bottom: 20px; + margin-left: -(@padding-standard + @padding-container); + margin-right: -(@padding-standard + @padding-container); + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } + } + + ul pre, + ol pre { + margin-left: -((@padding-standard * 2) + @padding-container); + padding-left: ((@padding-standard * 2) + @padding-container); + } +} \ No newline at end of file diff --git a/modules/system/assets/less/updates/updates.less b/modules/system/assets/less/updates/updates.less index e8ca85ab5..5bc9adb51 100644 --- a/modules/system/assets/less/updates/updates.less +++ b/modules/system/assets/less/updates/updates.less @@ -1,5 +1,9 @@ @import "../../../../backend/assets/less/core/boot.less"; +.important-update-label { + margin: 7px 0; +} + .control-updatelist { border: 1px solid #ccc; @@ -12,11 +16,11 @@ .item-header { background-color: #f5f5f5; border-bottom: 1px solid #ccc; - padding: 15px 10px; + padding: 0 10px; h5 { margin: 0; - padding: 0; + padding: 15px 0; text-transform: uppercase; font-size: 13px; @@ -32,23 +36,53 @@ margin-right: 5px; } } + + .important-update { + padding: 7px 0 0 0; + float: right; + } } dl { padding: 10px; margin-bottom: 0; - font-size: 12px; .clearfix; dt, dd { float: left; padding: 5px 0; + line-height: 20px; + &.text-muted { + color: #999 !important; + } } + dt { width: 15%; + clear: left; + font-size: 14px; + font-weight: 400; + color: #2b3e50; } dd { width: 85%; + font-size: 12px; + color: #455152; + } + + .important-update-label { + position: relative; + top: -1px; + background-color: #ab2a1c; + color: #fff; + display: inline-block; + padding: .2em .6em .3em; + font-size: 75%; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; } } @@ -59,11 +93,28 @@ &.item-danger { .item-header { background-color: @state-danger-bg; - } - dl { - color: @state-danger-text; + h5, i, & { color: @state-danger-text; } } } + + &.item-success { + .item-header { + background-color: @state-success-bg; + h5, i, & { color: @state-success-text; } + } + } + + &.item-muted { + border-bottom: none; + + .item-header { + h5, i, & { color: rgba(0,0,0,.35); } + } + dl { + display: none; + } + } + } } \ No newline at end of file diff --git a/modules/system/assets/ui/docs/scoreboard.md b/modules/system/assets/ui/docs/scoreboard.md index 3bae06666..33e985984 100644 --- a/modules/system/assets/ui/docs/scoreboard.md +++ b/modules/system/assets/ui/docs/scoreboard.md @@ -4,7 +4,6 @@ Scoreboard # Example - diff --git a/modules/system/assets/ui/docs/tab.md b/modules/system/assets/ui/docs/tab.md index f755debef..16c9357a6 100644 --- a/modules/system/assets/ui/docs/tab.md +++ b/modules/system/assets/ui/docs/tab.md @@ -1,32 +1,159 @@ -# Tabs +# Tab control -## Content tabs +This plugin is a wrapper for the Twitter Bootstrap Tab component. It provides the following features: -Content tabs are heavier tabs designed for displaying content. +- Adding tabs +- Optional close icons with 2 states (modified / unmodified). The icon state can be changed by triggering the modified.oc.tab/unmodified.oc.tab events on any element within tab, or on the tab itself. +- Removing tabs with the Close icon, or with triggering an event from inside a tab pane or tab. The removing can be canceled if the confirm.oc.tab event handler returns false. +- Scrolling tabs if they do not fit the screen +- Collapsible tabs + +### Supported data attributes: + +- data-control="tab" - creates the tab control from an element +- data-closable - enables the Close Tab feature +- data-pane-classes - a list of CSS classes to apply new pane elements + +Example with data attributes (data-control="tab"): + +
    + +
    +
    Home
    +
    +
    + +### JavaScript API: + +- $('#mytabs').ocTab({closable: true, closeConfirmation: 'Do you really want to close this tab? Unsaved data will be lost.'}) +- $('#mytabs').ocTab('addTab', 'Tab title', 'Tab content', identifier) - adds tab. The optional identifier parameter allows to associate a identifier with a tab. The identifier can be used with the goTo() method to find and open a tab by it's identifier. +- $('#mytabs').ocTab('closeTab', '.nav-tabs > li.active', true) - closes a tab. The second argument can point to a tab or tab pane. The thrid argument determines whether the tab should be closed without the user confirmation. The default value is false. +- $('.nav-tabs > li.active').trigger('close.oc.tab') - another way to close a tab. The event can be triggered on a tab, tab pane or any element inside a tab or tab pane. +- $('#mytabs').ocTab('modifyTab', '.nav-tabs > li.active') - marks a tab as modified. Use the 'unmodifyTab' to mark a tab as unmodified. +- $('.nav-tabs > li.active').trigger('modified.oc.tab') - another way to mark a tab as modified. The event can be triggered on a tab, tab pane or any element inside a tab or tab pane. Use the 'unmodified.oc.tab' to mark a tab as unmodified. +- $('#mytabs').ocTab('goTo', 'someidentifier') - Finds a tab by it's identifier and opens it. +- $('#mytabs').ocTab('goToPane', '.tab-content .tab-pane:first') - Opens a tab in context of it's content (pane element) + +### Supported options: + + - closable - adds the "close" icon to the tab and lets users to close tabs. Corresponds the data-closable attribute. + - closeConfirmation - a confirmation to show when a user tries to close a modified tab. Corresponds the data-close-confirmation + attribute. The confirmation is displayed only if the tab was modified. + - slidable - allows the tabs to be switched with the swipe gesture on touch devices. Corresponds the data-slidable attribute. + - paneClasses - a list of CSS classes to apply new pane elements. Corresponds to the data-pane-classes attribute. + - maxTitleSymbols - the maximum number of characters in tab titles. + - titleAsFileNames - treat tab titles as file names. In this mode only the file name part is displayed in the tab, and the directory part + is hidden. + +### Supported events: + +- beforeClose.oc.tab - triggered on a tab pane element before tab is closed by the user. Call the event's + preventDefault() method to cancel the action. +- afterAllClosed.oc.tab - triggered after all tabs have been closed # Example -
    +
    Master
    + +
    -
    - Tab one content -
    + Tab one content
    -
    - Tab two content -
    + Tab two content
    -
    - Tab three content -
    + Tab three content
    + + + +
    + + + +
    Primary
    + +
    + +
    +
    + Tab one content +
    +
    + Tab two content +
    +
    + Tab three content +
    +
    +
    + + + +
    + + + +
    Secondary
    + +
    + +
    +
    + Tab one content +
    +
    + Tab two content +
    +
    + Tab three content +
    +
    +
    + + + +
    + + + +
    Content
    + +
    + +
    +
    + Tab one content +
    +
    + Tab two content +
    +
    + Tab three content +
    +
    +
    + diff --git a/modules/backend/assets/images/primary-tab-shape.png b/modules/system/assets/ui/images/primary-tab-shape.png similarity index 100% rename from modules/backend/assets/images/primary-tab-shape.png rename to modules/system/assets/ui/images/primary-tab-shape.png diff --git a/modules/system/assets/ui/js/tab.js b/modules/system/assets/ui/js/tab.js index 4cffd2d0b..ca3dc609f 100644 --- a/modules/system/assets/ui/js/tab.js +++ b/modules/system/assets/ui/js/tab.js @@ -1,71 +1,13 @@ /* =require ../vendor/bootstrap/js/transition.js =require ../vendor/bootstrap/js/tab.js +=require toolbar.js */ - /* - * Tab control. + * Tab control * - * This plugin is a wrapper for the Twitter Bootstrap Tab component. It provides the following features: - * - Adding tabs - * - Optional close icons with 2 states (modified / unmodified). The icon state can be changed by - * triggering the modified.oc.tab/unmodified.oc.tab events on any element within tab, or on the tab itself. - * - Removing tabs with the Close icon, or with triggering an event from inside a tab pane or tab. - * The removing can be canceled if the confirm.oc.tab event handler returns false. - * - Scrolling tabs if they do not fit the screen - * - Collapsible tabs - * - * Data attributes: - * - data-control="tab" - creates the tab control from an element - * - data-closable - enables the Close Tab feature - * - data-pane-classes - a list of CSS classes to apply new pane elements - * - * Example with data attributes (data-control="tab"): - * - *
    - * - *
    - *
    Home
    - *
    - *
    - * - * JavaScript methods: - * - $('#mytabs').ocTab({closable: true, closeConfirmation: 'Do you really want to close this tab? Unsaved data will be lost.'}) - * - $('#mytabs').ocTab('addTab', 'Tab title', 'Tab content', identifier) - adds tab. The optional identifier parameter allows to - associate a identifier with a tab. The identifier can be used with the goTo() method to find and open a tab by it's identifier. - * - $('#mytabs').ocTab('closeTab', '.nav-tabs > li.active', true) - closes a tab. The second argument can point to a tab or tab pane. - The thrid argument determines whether the tab should be closed without the user confirmation. The default value is false. - * - $('.nav-tabs > li.active').trigger('close.oc.tab') - another way to close a tab. The event can be triggered on a tab, tab pane - * or any element inside a tab or tab pane. - * - $('#mytabs').ocTab('modifyTab', '.nav-tabs > li.active') - marks a tab as modified. Use the 'unmodifyTab' to mark a tab as unmodified. - * - $('.nav-tabs > li.active').trigger('modified.oc.tab') - another way to mark a tab as modified. The event can be triggered on a tab, tab pane - * or any element inside a tab or tab pane. Use the 'unmodified.oc.tab' to mark a tab as unmodified. - * - $('#mytabs').ocTab('goTo', 'someidentifier') - Finds a tab by it's identifier and opens it. - * - $('#mytabs').ocTab('goToPane', '.tab-content .tab-pane:first') - Opens a tab in context of it's content (pane element) - * - * Supported options: - * - closable - adds the "close" icon to the tab and lets users to close tabs. Corresponds the data-closable attribute. - * - closeConfirmation - a confirmation to show when a user tries to close a modified tab. Corresponds the data-close-confirmation - * attribute. The confirmation is displayed only if the tab was modified. - * - slidable - allows the tabs to be switched with the swipe gesture on touch devices. Corresponds the data-slidable attribute. - * - paneClasses - a list of CSS classes to apply new pane elements. Corresponds to the data-pane-classes attribute. - * - maxTitleSymbols - the maximum number of characters in tab titles. - * - titleAsFileNames - treat tab titles as file names. In this mode only the file name part is displayed in the tab, and the directory part - * is hidden. - * - * Events: - * - beforeClose.oc.tab - triggered on a tab pane element before tab is closed by the user. Call the event's - * preventDefault() method to cancel the action. - * - afterAllClosed.oc.tab - triggered after all tabs have been closed - * - * Dependences: - * - DragScroll (october.dragscroll.js) - * - Toolbar (october.toolbar.js) - * - Touchwipe (jquery.touchwipe.min.js) + * - Documentation: ../docs/tab.md */ - +function ($) { "use strict"; var Tab = function (element, options) { diff --git a/modules/system/assets/ui/less/list.less b/modules/system/assets/ui/less/list.less index a3f99491a..05fb8991c 100644 --- a/modules/system/assets/ui/less/list.less +++ b/modules/system/assets/ui/less/list.less @@ -150,6 +150,12 @@ table.table.data { } } + tr.frozen { + td, th, td a, th a { + color: #337ab7; + } + } + tr.processing { td, th, td a, th a { color: #666666; diff --git a/modules/system/assets/ui/less/tab.less b/modules/system/assets/ui/less/tab.less index 604271abe..c5544c9ad 100644 --- a/modules/system/assets/ui/less/tab.less +++ b/modules/system/assets/ui/less/tab.less @@ -46,6 +46,7 @@ @nav-pills-active-link-hover-bg: @component-active-bg; @nav-pills-active-link-hover-color: @component-active-color; +@tab-image-path: @image-path; .control-tabs { position: relative; @@ -206,7 +207,12 @@ } } - &.master { + // + // Master tabs + // + + &.master, // Deprecated + &.master-tabs { > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { > li { a { @@ -224,13 +230,18 @@ } } - &.primary { + // + // Primary tabs + // + + &.primary, // Deprecated + &.primary-tabs { margin-bottom: 5px; > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { position: relative; - margin-left: -20px; - margin-right: -20px; + margin-left: 0; + margin-right: 0; &:before { position: absolute; @@ -250,9 +261,9 @@ &:first-child { margin-left: 0; - padding-left: 15px!important; + padding-left: 15px !important; } - + a { font-size: 12px; padding-bottom: 3px; @@ -274,7 +285,7 @@ &:before, &:after { content: ' '; position: absolute; - background: transparent url(../images/primary-tab-shape.png?v2) no-repeat left -31px; + background: transparent url('@{tab-image-path}/primary-tab-shape.png') no-repeat left -31px; width: 16px; height: 26px; display: block; @@ -337,16 +348,21 @@ > div.tab-content { } - // Tabs to sit in by the standard offset (0px) - &.tabs-offset { + // Tab divider to sit inset the standard padding (20px) + &.tabs-inset { > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { - margin-left: 0; - margin-right: 0; + margin-left: -20px; + margin-right: -20px; } } } - &.secondary { + // + // Secondary tabs + // + + &.secondary, // Deprecated + &.secondary-tabs { > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { > li { padding-right: 10px; @@ -368,6 +384,10 @@ } } + // + // Content tabs + // + &.content-tabs { > ul.nav-tabs { @@ -425,6 +445,17 @@ } } + // Tab divider to sit inset the standard padding (20px) + &.tabs-inset { + > ul.nav-tabs, > div > ul.nav-tabs, > div > div > ul.nav-tabs { + margin-left: -20px; + margin-right: -20px; + li:first-child { + margin-left: 20px; + } + } + } + // Tabs to sit in by the standard offset (20px) &.tabs-offset { > ul.nav-tabs { diff --git a/modules/system/assets/ui/vendor/select2/js/select2.full.js b/modules/system/assets/ui/vendor/select2/js/select2.full.js index dd0e8bc74..231689ccb 100644 --- a/modules/system/assets/ui/vendor/select2/js/select2.full.js +++ b/modules/system/assets/ui/vendor/select2/js/select2.full.js @@ -1319,7 +1319,7 @@ S2.define('select2/selection/base',[ }); this.$selection.on('blur', function (evt) { - self.trigger('blur', evt); + self._handleBlur(evt); }); this.$selection.on('keydown', function (evt) { @@ -1366,6 +1366,24 @@ S2.define('select2/selection/base',[ }); }; + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the actve element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + BaseSelection.prototype._attachCloseHandler = function (container) { var self = this; @@ -1475,11 +1493,11 @@ S2.define('select2/selection/single',[ this.$selection.find('.select2-selection__rendered').empty(); }; - SingleSelection.prototype.display = function (data) { + SingleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); - return escapeMarkup(template(data)); + return escapeMarkup(template(data, container)); }; SingleSelection.prototype.selectionContainer = function () { @@ -1494,9 +1512,9 @@ S2.define('select2/selection/single',[ var selection = data[0]; - var formatted = this.display(selection); - var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + $rendered.empty().append(formatted); $rendered.prop('title', selection.title || selection.text); }; @@ -1556,11 +1574,11 @@ S2.define('select2/selection/multiple',[ this.$selection.find('.select2-selection__rendered').empty(); }; - MultipleSelection.prototype.display = function (data) { + MultipleSelection.prototype.display = function (data, container) { var template = this.options.get('templateSelection'); var escapeMarkup = this.options.get('escapeMarkup'); - return escapeMarkup(template(data)); + return escapeMarkup(template(data, container)); }; MultipleSelection.prototype.selectionContainer = function () { @@ -1587,8 +1605,8 @@ S2.define('select2/selection/multiple',[ for (var d = 0; d < data.length; d++) { var selection = data[d]; - var formatted = this.display(selection); var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); $selection.append(formatted); $selection.prop('title', selection.title || selection.text); @@ -1777,6 +1795,8 @@ S2.define('select2/selection/search',[ var $rendered = decorated.call(this); + this._transferTabIndex(); + return $rendered; }; @@ -1786,32 +1806,34 @@ S2.define('select2/selection/search',[ decorated.call(this, container, $container); container.on('open', function () { - self.$search.attr('tabindex', 0); - - self.$search.focus(); + self.$search.trigger('focus'); }); container.on('close', function () { - self.$search.attr('tabindex', -1); - self.$search.val(''); - self.$search.focus(); + self.$search.trigger('focus'); }); container.on('enable', function () { self.$search.prop('disabled', false); + + self._transferTabIndex(); }); container.on('disable', function () { self.$search.prop('disabled', true); }); + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + this.$selection.on('focusin', '.select2-search--inline', function (evt) { self.trigger('focus', evt); }); this.$selection.on('focusout', '.select2-search--inline', function (evt) { - self.trigger('blur', evt); + self._handleBlur(evt); }); this.$selection.on('keydown', '.select2-search--inline', function (evt) { @@ -1819,7 +1841,7 @@ S2.define('select2/selection/search',[ self.trigger('keypress', evt); - self._keyUpPrevented = evt.isDefaultPrevented(); + self._keyUpPrevented = false; //evt.isDefaultPrevented(); var key = evt.which; @@ -1847,15 +1869,41 @@ S2.define('select2/selection/search',[ this.$selection.on('keyup.search input', '.select2-search--inline', function (evt) { + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + self.handleSearch(evt); }); }; + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + Search.prototype.createPlaceholder = function (decorated, placeholder) { this.$search.attr('placeholder', placeholder.text); }; Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + this.$search.attr('placeholder', ''); decorated.call(this, data); @@ -1864,6 +1912,9 @@ S2.define('select2/selection/search',[ .append(this.$searchContainer); this.resizeSearch(); + if (searchHadFocus) { + this.$search.focus(); + } }; Search.prototype.handleSearch = function () { @@ -1948,7 +1999,7 @@ S2.define('select2/selection/eventRelay',[ return; } - params.prevented = evt.isDefaultPrevented(); + params.prevented = false; //evt.isDefaultPrevented(); }); }; @@ -3259,7 +3310,7 @@ S2.define('select2/data/ajax',[ this.processResults = this.ajaxOptions.processResults; } - ArrayAdapter.__super__.constructor.call(this, $element, options); + AjaxAdapter.__super__.constructor.call(this, $element, options); } Utils.Extend(AjaxAdapter, ArrayAdapter); @@ -3723,7 +3774,7 @@ S2.define('select2/dropdown/search',[ this.$search.on('keydown', function (evt) { self.trigger('keypress', evt); - self._keyUpPrevented = evt.isDefaultPrevented(); + self._keyUpPrevented = false; //evt.isDefaultPrevented(); }); // Workaround for browsers which do not support the `input` event @@ -4868,8 +4919,8 @@ S2.define('select2/core',[ // Hide the original select $element.addClass('select2-hidden-accessible'); - $element.attr('aria-hidden', 'true'); - + $element.attr('aria-hidden', 'true'); + // Synchronize any monitored attributes this._syncAttributes(); @@ -5004,12 +5055,16 @@ S2.define('select2/core',[ Select2.prototype._registerSelectionEvents = function () { var self = this; - var nonRelayEvents = ['toggle']; + var nonRelayEvents = ['toggle', 'focus']; this.selection.on('toggle', function () { self.toggleDropdown(); }); + this.selection.on('focus', function (params) { + self.focus(params); + }); + this.selection.on('*', function (name, params) { if ($.inArray(name, nonRelayEvents) !== -1) { return; @@ -5054,10 +5109,6 @@ S2.define('select2/core',[ self.$container.addClass('select2-container--disabled'); }); - this.on('focus', function () { - self.$container.addClass('select2-container--focus'); - }); - this.on('blur', function () { self.$container.removeClass('select2-container--focus'); }); @@ -5088,7 +5139,12 @@ S2.define('select2/core',[ var key = evt.which; if (self.isOpen()) { - if (key === KEYS.ENTER) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { self.trigger('results:select'); evt.preventDefault(); @@ -5103,15 +5159,11 @@ S2.define('select2/core',[ } else if (key === KEYS.DOWN) { self.trigger('results:next'); - evt.preventDefault(); - } else if (key === KEYS.ESC || key === KEYS.TAB) { - self.close(); - evt.preventDefault(); } } else { if (key === KEYS.ENTER || key === KEYS.SPACE || - ((key === KEYS.DOWN || key === KEYS.UP) && evt.altKey)) { + (key === KEYS.DOWN && evt.altKey)) { self.open(); evt.preventDefault(); @@ -5201,6 +5253,20 @@ S2.define('select2/core',[ return this.$container.hasClass('select2-container--open'); }; + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus'); + }; + Select2.prototype.enable = function (args) { if (this.options.get('debug') && window.console && console.warn) { console.warn( @@ -5281,7 +5347,7 @@ S2.define('select2/core',[ this.$element.attr('tabindex', this.$element.data('old-tabindex')); this.$element.removeClass('select2-hidden-accessible'); - this.$element.attr('aria-hidden', 'false'); + this.$element.attr('aria-hidden', 'false'); this.$element.removeData('select2'); this.dataAdapter.destroy(); @@ -5385,7 +5451,7 @@ S2.define('select2/compat/containerCss',[ containerCssAdapter = containerCssAdapter || _containerAdapter; if (containerCssClass.indexOf(':all:') !== -1) { - containerCssClass = containerCssClass.replace(':all', ''); + containerCssClass = containerCssClass.replace(':all:', ''); var _cssAdapter = containerCssAdapter; @@ -5442,7 +5508,7 @@ S2.define('select2/compat/dropdownCss',[ dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; if (dropdownCssClass.indexOf(':all:') !== -1) { - dropdownCssClass = dropdownCssClass.replace(':all', ''); + dropdownCssClass = dropdownCssClass.replace(':all:', ''); var _cssAdapter = dropdownCssAdapter; @@ -6111,4 +6177,4 @@ S2.define('jquery.select2',[ // Return the Select2 instance for anyone who is importing it. return select2; -})); +})); \ No newline at end of file diff --git a/modules/system/assets/ui/vendor/select2/js/select2.js b/modules/system/assets/ui/vendor/select2/js/select2.js deleted file mode 100644 index fbaca5edb..000000000 --- a/modules/system/assets/ui/vendor/select2/js/select2.js +++ /dev/null @@ -1,5403 +0,0 @@ -/*! - * Select2 4.0.0 - * https://select2.github.io - * - * Released under the MIT license - * https://github.com/select2/select2/blob/master/LICENSE.md - */ -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function (jQuery) { - // This is needed so we can catch the AMD loader configuration and use it - // The inner file should be wrapped (by `banner.start.js`) in a function that - // returns the AMD loader references. - var S2 = -(function () { - // Restore the Select2 AMD loader so it can be used - // Needed mostly in the language files, where the loader is not inserted - if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { - var S2 = jQuery.fn.select2.amd; - } -var S2;(function () { if (!S2 || !S2.requirejs) { -if (!S2) { S2 = {}; } else { require = S2; } -/** - * @license almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/almond for details - */ -//Going sloppy to avoid 'use strict' string cost, but strict practices should -//be followed. -/*jslint sloppy: true */ -/*global setTimeout: false */ - -var requirejs, require, define; -(function (undef) { - var main, req, makeMap, handlers, - defined = {}, - waiting = {}, - config = {}, - defining = {}, - hasOwn = Object.prototype.hasOwnProperty, - aps = [].slice, - jsSuffixRegExp = /\.js$/; - - function hasProp(obj, prop) { - return hasOwn.call(obj, prop); - } - - /** - * Given a relative module name, like ./something, normalize it to - * a real name that can be mapped to a path. - * @param {String} name the relative name - * @param {String} baseName a real name that the name arg is relative - * to. - * @returns {String} normalized name - */ - function normalize(name, baseName) { - var nameParts, nameSegment, mapValue, foundMap, lastIndex, - foundI, foundStarMap, starI, i, j, part, - baseParts = baseName && baseName.split("/"), - map = config.map, - starMap = (map && map['*']) || {}; - - //Adjust any relative paths. - if (name && name.charAt(0) === ".") { - //If have a base name, try to normalize against it, - //otherwise, assume it is a top-level require that will - //be relative to baseUrl in the end. - if (baseName) { - //Convert baseName to array, and lop off the last part, - //so that . matches that "directory" and not name of the baseName's - //module. For instance, baseName of "one/two/three", maps to - //"one/two/three.js", but we want the directory, "one/two" for - //this normalization. - baseParts = baseParts.slice(0, baseParts.length - 1); - name = name.split('/'); - lastIndex = name.length - 1; - - // Node .js allowance: - if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { - name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); - } - - name = baseParts.concat(name); - - //start trimDots - for (i = 0; i < name.length; i += 1) { - part = name[i]; - if (part === ".") { - name.splice(i, 1); - i -= 1; - } else if (part === "..") { - if (i === 1 && (name[2] === '..' || name[0] === '..')) { - //End of the line. Keep at least one non-dot - //path segment at the front so it can be mapped - //correctly to disk. Otherwise, there is likely - //no path mapping for a path starting with '..'. - //This can still fail, but catches the most reasonable - //uses of .. - break; - } else if (i > 0) { - name.splice(i - 1, 2); - i -= 2; - } - } - } - //end trimDots - - name = name.join("/"); - } else if (name.indexOf('./') === 0) { - // No baseName, so this is ID is resolved relative - // to baseUrl, pull off the leading dot. - name = name.substring(2); - } - } - - //Apply map config if available. - if ((baseParts || starMap) && map) { - nameParts = name.split('/'); - - for (i = nameParts.length; i > 0; i -= 1) { - nameSegment = nameParts.slice(0, i).join("/"); - - if (baseParts) { - //Find the longest baseName segment match in the config. - //So, do joins on the biggest to smallest lengths of baseParts. - for (j = baseParts.length; j > 0; j -= 1) { - mapValue = map[baseParts.slice(0, j).join('/')]; - - //baseName segment has config, find if it has one for - //this name. - if (mapValue) { - mapValue = mapValue[nameSegment]; - if (mapValue) { - //Match, update name to the new value. - foundMap = mapValue; - foundI = i; - break; - } - } - } - } - - if (foundMap) { - break; - } - - //Check for a star map match, but just hold on to it, - //if there is a shorter segment match later in a matching - //config, then favor over this star map. - if (!foundStarMap && starMap && starMap[nameSegment]) { - foundStarMap = starMap[nameSegment]; - starI = i; - } - } - - if (!foundMap && foundStarMap) { - foundMap = foundStarMap; - foundI = starI; - } - - if (foundMap) { - nameParts.splice(0, foundI, foundMap); - name = nameParts.join('/'); - } - } - - return name; - } - - function makeRequire(relName, forceSync) { - return function () { - //A version of a require function that passes a moduleName - //value for items that may need to - //look up paths relative to the moduleName - return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync])); - }; - } - - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(depName) { - return function (value) { - defined[depName] = value; - }; - } - - function callDep(name) { - if (hasProp(waiting, name)) { - var args = waiting[name]; - delete waiting[name]; - defining[name] = true; - main.apply(undef, args); - } - - if (!hasProp(defined, name) && !hasProp(defining, name)) { - throw new Error('No ' + name); - } - return defined[name]; - } - - //Turns a plugin!resource to [plugin, resource] - //with the plugin being undefined if the name - //did not have a plugin prefix. - function splitPrefix(name) { - var prefix, - index = name ? name.indexOf('!') : -1; - if (index > -1) { - prefix = name.substring(0, index); - name = name.substring(index + 1, name.length); - } - return [prefix, name]; - } - - /** - * Makes a name map, normalizing the name, and using a plugin - * for normalization if necessary. Grabs a ref to plugin - * too, as an optimization. - */ - makeMap = function (name, relName) { - var plugin, - parts = splitPrefix(name), - prefix = parts[0]; - - name = parts[1]; - - if (prefix) { - prefix = normalize(prefix, relName); - plugin = callDep(prefix); - } - - //Normalize according - if (prefix) { - if (plugin && plugin.normalize) { - name = plugin.normalize(name, makeNormalize(relName)); - } else { - name = normalize(name, relName); - } - } else { - name = normalize(name, relName); - parts = splitPrefix(name); - prefix = parts[0]; - name = parts[1]; - if (prefix) { - plugin = callDep(prefix); - } - } - - //Using ridiculous property names for space reasons - return { - f: prefix ? prefix + '!' + name : name, //fullName - n: name, - pr: prefix, - p: plugin - }; - }; - - function makeConfig(name) { - return function () { - return (config && config.config && config.config[name]) || {}; - }; - } - - handlers = { - require: function (name) { - return makeRequire(name); - }, - exports: function (name) { - var e = defined[name]; - if (typeof e !== 'undefined') { - return e; - } else { - return (defined[name] = {}); - } - }, - module: function (name) { - return { - id: name, - uri: '', - exports: defined[name], - config: makeConfig(name) - }; - } - }; - - main = function (name, deps, callback, relName) { - var cjsModule, depName, ret, map, i, - args = [], - callbackType = typeof callback, - usingExports; - - //Use name if no relName - relName = relName || name; - - //Call the callback to define the module, if necessary. - if (callbackType === 'undefined' || callbackType === 'function') { - //Pull out the defined dependencies and pass the ordered - //values to the callback. - //Default to [require, exports, module] if no deps - deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; - for (i = 0; i < deps.length; i += 1) { - map = makeMap(deps[i], relName); - depName = map.f; - - //Fast path CommonJS standard dependencies. - if (depName === "require") { - args[i] = handlers.require(name); - } else if (depName === "exports") { - //CommonJS module spec 1.1 - args[i] = handlers.exports(name); - usingExports = true; - } else if (depName === "module") { - //CommonJS module spec 1.1 - cjsModule = args[i] = handlers.module(name); - } else if (hasProp(defined, depName) || - hasProp(waiting, depName) || - hasProp(defining, depName)) { - args[i] = callDep(depName); - } else if (map.p) { - map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); - args[i] = defined[depName]; - } else { - throw new Error(name + ' missing ' + depName); - } - } - - ret = callback ? callback.apply(defined[name], args) : undefined; - - if (name) { - //If setting exports via "module" is in play, - //favor that over return value and exports. After that, - //favor a non-undefined return value over exports use. - if (cjsModule && cjsModule.exports !== undef && - cjsModule.exports !== defined[name]) { - defined[name] = cjsModule.exports; - } else if (ret !== undef || !usingExports) { - //Use the return value from the function. - defined[name] = ret; - } - } - } else if (name) { - //May just be an object definition for the module. Only - //worry about defining if have a module name. - defined[name] = callback; - } - }; - - requirejs = require = req = function (deps, callback, relName, forceSync, alt) { - if (typeof deps === "string") { - if (handlers[deps]) { - //callback in this case is really relName - return handlers[deps](callback); - } - //Just return the module wanted. In this scenario, the - //deps arg is the module name, and second arg (if passed) - //is just the relName. - //Normalize module name, if it contains . or .. - return callDep(makeMap(deps, callback).f); - } else if (!deps.splice) { - //deps is a config object, not an array. - config = deps; - if (config.deps) { - req(config.deps, config.callback); - } - if (!callback) { - return; - } - - if (callback.splice) { - //callback is an array, which means it is a dependency list. - //Adjust args if there are dependencies - deps = callback; - callback = relName; - relName = null; - } else { - deps = undef; - } - } - - //Support require(['a']) - callback = callback || function () {}; - - //If relName is a function, it is an errback handler, - //so remove it. - if (typeof relName === 'function') { - relName = forceSync; - forceSync = alt; - } - - //Simulate async callback; - if (forceSync) { - main(undef, deps, callback, relName); - } else { - //Using a non-zero value because of concern for what old browsers - //do, and latest browsers "upgrade" to 4 if lower value is used: - //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: - //If want a value immediately, use require('id') instead -- something - //that works in almond on the global level, but not guaranteed and - //unlikely to work in other AMD implementations. - setTimeout(function () { - main(undef, deps, callback, relName); - }, 4); - } - - return req; - }; - - /** - * Just drops the config on the floor, but returns req in case - * the config return value is used. - */ - req.config = function (cfg) { - return req(cfg); - }; - - /** - * Expose module registry for debugging and tooling - */ - requirejs._defined = defined; - - define = function (name, deps, callback) { - - //This module may not have dependencies - if (!deps.splice) { - //deps is not an array, so probably means - //an object literal or factory function for - //the value. Adjust args. - callback = deps; - deps = []; - } - - if (!hasProp(defined, name) && !hasProp(waiting, name)) { - waiting[name] = [name, deps, callback]; - } - }; - - define.amd = { - jQuery: true - }; -}()); - -S2.requirejs = requirejs;S2.require = require;S2.define = define; -} -}()); -S2.define("almond", function(){}); - -/* global jQuery:false, $:false */ -S2.define('jquery',[],function () { - var _$ = jQuery || $; - - if (_$ == null && console && console.error) { - console.error( - 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + - 'found. Make sure that you are including jQuery before Select2 on your ' + - 'web page.' - ); - } - - return _$; -}); - -S2.define('select2/utils',[ - 'jquery' -], function ($) { - var Utils = {}; - - Utils.Extend = function (ChildClass, SuperClass) { - var __hasProp = {}.hasOwnProperty; - - function BaseConstructor () { - this.constructor = ChildClass; - } - - for (var key in SuperClass) { - if (__hasProp.call(SuperClass, key)) { - ChildClass[key] = SuperClass[key]; - } - } - - BaseConstructor.prototype = SuperClass.prototype; - ChildClass.prototype = new BaseConstructor(); - ChildClass.__super__ = SuperClass.prototype; - - return ChildClass; - }; - - function getMethods (theClass) { - var proto = theClass.prototype; - - var methods = []; - - for (var methodName in proto) { - var m = proto[methodName]; - - if (typeof m !== 'function') { - continue; - } - - if (methodName === 'constructor') { - continue; - } - - methods.push(methodName); - } - - return methods; - } - - Utils.Decorate = function (SuperClass, DecoratorClass) { - var decoratedMethods = getMethods(DecoratorClass); - var superMethods = getMethods(SuperClass); - - function DecoratedClass () { - var unshift = Array.prototype.unshift; - - var argCount = DecoratorClass.prototype.constructor.length; - - var calledConstructor = SuperClass.prototype.constructor; - - if (argCount > 0) { - unshift.call(arguments, SuperClass.prototype.constructor); - - calledConstructor = DecoratorClass.prototype.constructor; - } - - calledConstructor.apply(this, arguments); - } - - DecoratorClass.displayName = SuperClass.displayName; - - function ctr () { - this.constructor = DecoratedClass; - } - - DecoratedClass.prototype = new ctr(); - - for (var m = 0; m < superMethods.length; m++) { - var superMethod = superMethods[m]; - - DecoratedClass.prototype[superMethod] = - SuperClass.prototype[superMethod]; - } - - var calledMethod = function (methodName) { - // Stub out the original method if it's not decorating an actual method - var originalMethod = function () {}; - - if (methodName in DecoratedClass.prototype) { - originalMethod = DecoratedClass.prototype[methodName]; - } - - var decoratedMethod = DecoratorClass.prototype[methodName]; - - return function () { - var unshift = Array.prototype.unshift; - - unshift.call(arguments, originalMethod); - - return decoratedMethod.apply(this, arguments); - }; - }; - - for (var d = 0; d < decoratedMethods.length; d++) { - var decoratedMethod = decoratedMethods[d]; - - DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); - } - - return DecoratedClass; - }; - - var Observable = function () { - this.listeners = {}; - }; - - Observable.prototype.on = function (event, callback) { - this.listeners = this.listeners || {}; - - if (event in this.listeners) { - this.listeners[event].push(callback); - } else { - this.listeners[event] = [callback]; - } - }; - - Observable.prototype.trigger = function (event) { - var slice = Array.prototype.slice; - - this.listeners = this.listeners || {}; - - if (event in this.listeners) { - this.invoke(this.listeners[event], slice.call(arguments, 1)); - } - - if ('*' in this.listeners) { - this.invoke(this.listeners['*'], arguments); - } - }; - - Observable.prototype.invoke = function (listeners, params) { - for (var i = 0, len = listeners.length; i < len; i++) { - listeners[i].apply(this, params); - } - }; - - Utils.Observable = Observable; - - Utils.generateChars = function (length) { - var chars = ''; - - for (var i = 0; i < length; i++) { - var randomChar = Math.floor(Math.random() * 36); - chars += randomChar.toString(36); - } - - return chars; - }; - - Utils.bind = function (func, context) { - return function () { - func.apply(context, arguments); - }; - }; - - Utils._convertData = function (data) { - for (var originalKey in data) { - var keys = originalKey.split('-'); - - var dataLevel = data; - - if (keys.length === 1) { - continue; - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k]; - - // Lowercase the first letter - // By default, dash-separated becomes camelCase - key = key.substring(0, 1).toLowerCase() + key.substring(1); - - if (!(key in dataLevel)) { - dataLevel[key] = {}; - } - - if (k == keys.length - 1) { - dataLevel[key] = data[originalKey]; - } - - dataLevel = dataLevel[key]; - } - - delete data[originalKey]; - } - - return data; - }; - - Utils.hasScroll = function (index, el) { - // Adapted from the function created by @ShadowScripter - // and adapted by @BillBarry on the Stack Exchange Code Review website. - // The original code can be found at - // http://codereview.stackexchange.com/q/13338 - // and was designed to be used with the Sizzle selector engine. - - var $el = $(el); - var overflowX = el.style.overflowX; - var overflowY = el.style.overflowY; - - //Check both x and y declarations - if (overflowX === overflowY && - (overflowY === 'hidden' || overflowY === 'visible')) { - return false; - } - - if (overflowX === 'scroll' || overflowY === 'scroll') { - return true; - } - - return ($el.innerHeight() < el.scrollHeight || - $el.innerWidth() < el.scrollWidth); - }; - - Utils.escapeMarkup = function (markup) { - var replaceMap = { - '\\': '\', - '&': '&', - '<': '<', - '>': '>', - '"': '"', - '\'': ''', - '/': '/' - }; - - // Do not try to escape the markup if it's not a string - if (typeof markup !== 'string') { - return markup; - } - - return String(markup).replace(/[&<>"'\/\\]/g, function (match) { - return replaceMap[match]; - }); - }; - - // Append an array of jQuery nodes to a given element. - Utils.appendMany = function ($element, $nodes) { - // jQuery 1.7.x does not support $.fn.append() with an array - // Fall back to a jQuery object collection using $.fn.add() - if ($.fn.jquery.substr(0, 3) === '1.7') { - var $jqNodes = $(); - - $.map($nodes, function (node) { - $jqNodes = $jqNodes.add(node); - }); - - $nodes = $jqNodes; - } - - $element.append($nodes); - }; - - return Utils; -}); - -S2.define('select2/results',[ - 'jquery', - './utils' -], function ($, Utils) { - function Results ($element, options, dataAdapter) { - this.$element = $element; - this.data = dataAdapter; - this.options = options; - - Results.__super__.constructor.call(this); - } - - Utils.Extend(Results, Utils.Observable); - - Results.prototype.render = function () { - var $results = $( - '
      ' - ); - - if (this.options.get('multiple')) { - $results.attr('aria-multiselectable', 'true'); - } - - this.$results = $results; - - return $results; - }; - - Results.prototype.clear = function () { - this.$results.empty(); - }; - - Results.prototype.displayMessage = function (params) { - var escapeMarkup = this.options.get('escapeMarkup'); - - this.clear(); - this.hideLoading(); - - var $message = $( - '
    • ' - ); - - var message = this.options.get('translations').get(params.message); - - $message.append( - escapeMarkup( - message(params.args) - ) - ); - - this.$results.append($message); - }; - - Results.prototype.append = function (data) { - this.hideLoading(); - - var $options = []; - - if (data.results == null || data.results.length === 0) { - if (this.$results.children().length === 0) { - this.trigger('results:message', { - message: 'noResults' - }); - } - - return; - } - - data.results = this.sort(data.results); - - for (var d = 0; d < data.results.length; d++) { - var item = data.results[d]; - - var $option = this.option(item); - - $options.push($option); - } - - this.$results.append($options); - }; - - Results.prototype.position = function ($results, $dropdown) { - var $resultsContainer = $dropdown.find('.select2-results'); - $resultsContainer.append($results); - }; - - Results.prototype.sort = function (data) { - var sorter = this.options.get('sorter'); - - return sorter(data); - }; - - Results.prototype.setClasses = function () { - var self = this; - - this.data.current(function (selected) { - var selectedIds = $.map(selected, function (s) { - return s.id.toString(); - }); - - var $options = self.$results - .find('.select2-results__option[aria-selected]'); - - $options.each(function () { - var $option = $(this); - - var item = $.data(this, 'data'); - - // id needs to be converted to a string when comparing - var id = '' + item.id; - - if ((item.element != null && item.element.selected) || - (item.element == null && $.inArray(id, selectedIds) > -1)) { - $option.attr('aria-selected', 'true'); - } else { - $option.attr('aria-selected', 'false'); - } - }); - - var $selected = $options.filter('[aria-selected=true]'); - - // Check if there are any selected options - if ($selected.length > 0) { - // If there are selected options, highlight the first - $selected.first().trigger('mouseenter'); - } else { - // If there are no selected options, highlight the first option - // in the dropdown - $options.first().trigger('mouseenter'); - } - }); - }; - - Results.prototype.showLoading = function (params) { - this.hideLoading(); - - var loadingMore = this.options.get('translations').get('searching'); - - var loading = { - disabled: true, - loading: true, - text: loadingMore(params) - }; - var $loading = this.option(loading); - $loading.className += ' loading-results'; - - this.$results.prepend($loading); - }; - - Results.prototype.hideLoading = function () { - this.$results.find('.loading-results').remove(); - }; - - Results.prototype.option = function (data) { - var option = document.createElement('li'); - option.className = 'select2-results__option'; - - var attrs = { - 'role': 'treeitem', - 'aria-selected': 'false' - }; - - if (data.disabled) { - delete attrs['aria-selected']; - attrs['aria-disabled'] = 'true'; - } - - if (data.id == null) { - delete attrs['aria-selected']; - } - - if (data._resultId != null) { - option.id = data._resultId; - } - - if (data.title) { - option.title = data.title; - } - - if (data.children) { - attrs.role = 'group'; - attrs['aria-label'] = data.text; - delete attrs['aria-selected']; - } - - for (var attr in attrs) { - var val = attrs[attr]; - - option.setAttribute(attr, val); - } - - if (data.children) { - var $option = $(option); - - var label = document.createElement('strong'); - label.className = 'select2-results__group'; - - var $label = $(label); - this.template(data, label); - - var $children = []; - - for (var c = 0; c < data.children.length; c++) { - var child = data.children[c]; - - var $child = this.option(child); - - $children.push($child); - } - - var $childrenContainer = $('
        ', { - 'class': 'select2-results__options select2-results__options--nested' - }); - - $childrenContainer.append($children); - - $option.append(label); - $option.append($childrenContainer); - } else { - this.template(data, option); - } - - $.data(option, 'data', data); - - return option; - }; - - Results.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-results'; - - this.$results.attr('id', id); - - container.on('results:all', function (params) { - self.clear(); - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - } - }); - - container.on('results:append', function (params) { - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - } - }); - - container.on('query', function (params) { - self.showLoading(params); - }); - - container.on('select', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - }); - - container.on('unselect', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expended="true" - self.$results.attr('aria-expanded', 'true'); - self.$results.attr('aria-hidden', 'false'); - - self.setClasses(); - self.ensureHighlightVisible(); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expended="false" - self.$results.attr('aria-expanded', 'false'); - self.$results.attr('aria-hidden', 'true'); - self.$results.removeAttr('aria-activedescendant'); - }); - - container.on('results:toggle', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - $highlighted.trigger('mouseup'); - }); - - container.on('results:select', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var data = $highlighted.data('data'); - - if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close'); - } else { - self.trigger('select', { - data: data - }); - } - }); - - container.on('results:previous', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - // If we are already at te top, don't move further - if (currentIndex === 0) { - return; - } - - var nextIndex = currentIndex - 1; - - // If none are highlighted, highlight the first - if ($highlighted.length === 0) { - nextIndex = 0; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top; - var nextTop = $next.offset().top; - var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextTop - currentOffset < 0) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:next', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var nextIndex = currentIndex + 1; - - // If we are at the last option, stay there - if (nextIndex >= $options.length) { - return; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var nextBottom = $next.offset().top + $next.outerHeight(false); - var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextBottom > currentOffset) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:focus', function (params) { - params.element.addClass('select2-results__option--highlighted'); - }); - - container.on('results:message', function (params) { - self.displayMessage(params); - }); - - if ($.fn.mousewheel) { - this.$results.on('mousewheel', function (e) { - var top = self.$results.scrollTop(); - - var bottom = ( - self.$results.get(0).scrollHeight - - self.$results.scrollTop() + - e.deltaY - ); - - var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; - var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); - - if (isAtTop) { - self.$results.scrollTop(0); - - e.preventDefault(); - e.stopPropagation(); - } else if (isAtBottom) { - self.$results.scrollTop( - self.$results.get(0).scrollHeight - self.$results.height() - ); - - e.preventDefault(); - e.stopPropagation(); - } - }); - } - - this.$results.on('mouseup', '.select2-results__option[aria-selected]', - function (evt) { - var $this = $(this); - - var data = $this.data('data'); - - if ($this.attr('aria-selected') === 'true') { - if (self.options.get('multiple')) { - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } else { - self.trigger('close'); - } - - return; - } - - self.trigger('select', { - originalEvent: evt, - data: data - }); - }); - - this.$results.on('mouseenter', '.select2-results__option[aria-selected]', - function (evt) { - var data = $(this).data('data'); - - self.getHighlightedResults() - .removeClass('select2-results__option--highlighted'); - - self.trigger('results:focus', { - data: data, - element: $(this) - }); - }); - }; - - Results.prototype.getHighlightedResults = function () { - var $highlighted = this.$results - .find('.select2-results__option--highlighted'); - - return $highlighted; - }; - - Results.prototype.destroy = function () { - this.$results.remove(); - }; - - Results.prototype.ensureHighlightVisible = function () { - var $highlighted = this.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var $options = this.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var currentOffset = this.$results.offset().top; - var nextTop = $highlighted.offset().top; - var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); - - var offsetDelta = nextTop - currentOffset; - nextOffset -= $highlighted.outerHeight(false) * 2; - - if (currentIndex <= 2) { - this.$results.scrollTop(0); - } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { - this.$results.scrollTop(nextOffset); - } - }; - - Results.prototype.template = function (result, container) { - var template = this.options.get('templateResult'); - var escapeMarkup = this.options.get('escapeMarkup'); - - var content = template(result); - - if (content == null) { - container.style.display = 'none'; - } else if (typeof content === 'string') { - container.innerHTML = escapeMarkup(content); - } else { - $(container).append(content); - } - }; - - return Results; -}); - -S2.define('select2/keys',[ - -], function () { - var KEYS = { - BACKSPACE: 8, - TAB: 9, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - ESC: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - DELETE: 46 - }; - - return KEYS; -}); - -S2.define('select2/selection/base',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function BaseSelection ($element, options) { - this.$element = $element; - this.options = options; - - BaseSelection.__super__.constructor.call(this); - } - - Utils.Extend(BaseSelection, Utils.Observable); - - BaseSelection.prototype.render = function () { - var $selection = $( - '' - ); - - this._tabindex = 0; - - if (this.$element.data('old-tabindex') != null) { - this._tabindex = this.$element.data('old-tabindex'); - } else if (this.$element.attr('tabindex') != null) { - this._tabindex = this.$element.attr('tabindex'); - } - - $selection.attr('title', this.$element.attr('title')); - $selection.attr('tabindex', this._tabindex); - - this.$selection = $selection; - - return $selection; - }; - - BaseSelection.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-container'; - var resultsId = container.id + '-results'; - - this.container = container; - - this.$selection.on('focus', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('blur', function (evt) { - self.trigger('blur', evt); - }); - - this.$selection.on('keydown', function (evt) { - self.trigger('keypress', evt); - - if (evt.which === KEYS.SPACE) { - evt.preventDefault(); - } - }); - - container.on('results:focus', function (params) { - self.$selection.attr('aria-activedescendant', params.data._resultId); - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expanded="true" - self.$selection.attr('aria-expanded', 'true'); - self.$selection.attr('aria-owns', resultsId); - - self._attachCloseHandler(container); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expanded="false" - self.$selection.attr('aria-expanded', 'false'); - self.$selection.removeAttr('aria-activedescendant'); - self.$selection.removeAttr('aria-owns'); - - self.$selection.focus(); - - self._detachCloseHandler(container); - }); - - container.on('enable', function () { - self.$selection.attr('tabindex', self._tabindex); - }); - - container.on('disable', function () { - self.$selection.attr('tabindex', '-1'); - }); - }; - - BaseSelection.prototype._attachCloseHandler = function (container) { - var self = this; - - $(document.body).on('mousedown.select2.' + container.id, function (e) { - var $target = $(e.target); - - var $select = $target.closest('.select2'); - - var $all = $('.select2.select2-container--open'); - - $all.each(function () { - var $this = $(this); - - if (this == $select[0]) { - return; - } - - var $element = $this.data('element'); - - $element.select2('close'); - }); - }); - }; - - BaseSelection.prototype._detachCloseHandler = function (container) { - $(document.body).off('mousedown.select2.' + container.id); - }; - - BaseSelection.prototype.position = function ($selection, $container) { - var $selectionContainer = $container.find('.selection'); - $selectionContainer.append($selection); - }; - - BaseSelection.prototype.destroy = function () { - this._detachCloseHandler(this.container); - }; - - BaseSelection.prototype.update = function (data) { - throw new Error('The `update` method must be defined in child classes.'); - }; - - return BaseSelection; -}); - -S2.define('select2/selection/single',[ - 'jquery', - './base', - '../utils', - '../keys' -], function ($, BaseSelection, Utils, KEYS) { - function SingleSelection () { - SingleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(SingleSelection, BaseSelection); - - SingleSelection.prototype.render = function () { - var $selection = SingleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--single'); - - $selection.html( - '' + - '' + - '' + - '' - ); - - return $selection; - }; - - SingleSelection.prototype.bind = function (container, $container) { - var self = this; - - SingleSelection.__super__.bind.apply(this, arguments); - - var id = container.id + '-container'; - - this.$selection.find('.select2-selection__rendered').attr('id', id); - this.$selection.attr('aria-labelledby', id); - - this.$selection.on('mousedown', function (evt) { - // Only respond to left clicks - if (evt.which !== 1) { - return; - } - - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on('focus', function (evt) { - // User focuses on the container - }); - - this.$selection.on('blur', function (evt) { - // User exits the container - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - }; - - SingleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - SingleSelection.prototype.display = function (data) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data)); - }; - - SingleSelection.prototype.selectionContainer = function () { - return $(''); - }; - - SingleSelection.prototype.update = function (data) { - if (data.length === 0) { - this.clear(); - return; - } - - var selection = data[0]; - - var formatted = this.display(selection); - - var $rendered = this.$selection.find('.select2-selection__rendered'); - $rendered.empty().append(formatted); - $rendered.prop('title', selection.title || selection.text); - }; - - return SingleSelection; -}); - -S2.define('select2/selection/multiple',[ - 'jquery', - './base', - '../utils' -], function ($, BaseSelection, Utils) { - function MultipleSelection ($element, options) { - MultipleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(MultipleSelection, BaseSelection); - - MultipleSelection.prototype.render = function () { - var $selection = MultipleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--multiple'); - - $selection.html( - '
          ' - ); - - return $selection; - }; - - MultipleSelection.prototype.bind = function (container, $container) { - var self = this; - - MultipleSelection.__super__.bind.apply(this, arguments); - - this.$selection.on('click', function (evt) { - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on('click', '.select2-selection__choice__remove', - function (evt) { - var $remove = $(this); - var $selection = $remove.parent(); - - var data = $selection.data('data'); - - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - }); - }; - - MultipleSelection.prototype.clear = function () { - this.$selection.find('.select2-selection__rendered').empty(); - }; - - MultipleSelection.prototype.display = function (data) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data)); - }; - - MultipleSelection.prototype.selectionContainer = function () { - var $container = $( - '
        • ' + - '' + - '×' + - '' + - '
        • ' - ); - - return $container; - }; - - MultipleSelection.prototype.update = function (data) { - this.clear(); - - if (data.length === 0) { - return; - } - - var $selections = []; - - for (var d = 0; d < data.length; d++) { - var selection = data[d]; - - var formatted = this.display(selection); - var $selection = this.selectionContainer(); - - $selection.append(formatted); - $selection.prop('title', selection.title || selection.text); - - $selection.data('data', selection); - - $selections.push($selection); - } - - var $rendered = this.$selection.find('.select2-selection__rendered'); - - Utils.appendMany($rendered, $selections); - }; - - return MultipleSelection; -}); - -S2.define('select2/selection/placeholder',[ - '../utils' -], function (Utils) { - function Placeholder (decorated, $element, options) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options); - } - - Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { - var $placeholder = this.selectionContainer(); - - $placeholder.html(this.display(placeholder)); - $placeholder.addClass('select2-selection__placeholder') - .removeClass('select2-selection__choice'); - - return $placeholder; - }; - - Placeholder.prototype.update = function (decorated, data) { - var singlePlaceholder = ( - data.length == 1 && data[0].id != this.placeholder.id - ); - var multipleSelections = data.length > 1; - - if (multipleSelections || singlePlaceholder) { - return decorated.call(this, data); - } - - this.clear(); - - var $placeholder = this.createPlaceholder(this.placeholder); - - this.$selection.find('.select2-selection__rendered').append($placeholder); - }; - - return Placeholder; -}); - -S2.define('select2/selection/allowClear',[ - 'jquery', - '../keys' -], function ($, KEYS) { - function AllowClear () { } - - AllowClear.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - if (this.placeholder == null) { - if (this.options.get('debug') && window.console && console.error) { - console.error( - 'Select2: The `allowClear` option should be used in combination ' + - 'with the `placeholder` option.' - ); - } - } - - this.$selection.on('mousedown', '.select2-selection__clear', - function (evt) { - self._handleClear(evt); - }); - - container.on('keypress', function (evt) { - self._handleKeyboardClear(evt, container); - }); - }; - - AllowClear.prototype._handleClear = function (_, evt) { - // Ignore the event if it is disabled - if (this.options.get('disabled')) { - return; - } - - var $clear = this.$selection.find('.select2-selection__clear'); - - // Ignore the event if nothing has been selected - if ($clear.length === 0) { - return; - } - - evt.stopPropagation(); - - var data = $clear.data('data'); - - for (var d = 0; d < data.length; d++) { - var unselectData = { - data: data[d] - }; - - // Trigger the `unselect` event, so people can prevent it from being - // cleared. - this.trigger('unselect', unselectData); - - // If the event was prevented, don't clear it out. - if (unselectData.prevented) { - return; - } - } - - this.$element.val(this.placeholder.id).trigger('change'); - - this.trigger('toggle'); - }; - - AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { - if (container.isOpen()) { - return; - } - - if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { - this._handleClear(evt); - } - }; - - AllowClear.prototype.update = function (decorated, data) { - decorated.call(this, data); - - if (this.$selection.find('.select2-selection__placeholder').length > 0 || - data.length === 0) { - return; - } - - var $remove = $( - '' + - '×' + - '' - ); - $remove.data('data', data); - - this.$selection.find('.select2-selection__rendered').prepend($remove); - }; - - return AllowClear; -}); - -S2.define('select2/selection/search',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function Search (decorated, $element, options) { - decorated.call(this, $element, options); - } - - Search.prototype.render = function (decorated) { - var $search = $( - '' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - var $rendered = decorated.call(this); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('open', function () { - self.$search.attr('tabindex', 0); - - self.$search.focus(); - }); - - container.on('close', function () { - self.$search.attr('tabindex', -1); - - self.$search.val(''); - self.$search.focus(); - }); - - container.on('enable', function () { - self.$search.prop('disabled', false); - }); - - container.on('disable', function () { - self.$search.prop('disabled', true); - }); - - this.$selection.on('focusin', '.select2-search--inline', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('focusout', '.select2-search--inline', function (evt) { - self.trigger('blur', evt); - }); - - this.$selection.on('keydown', '.select2-search--inline', function (evt) { - evt.stopPropagation(); - - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - - var key = evt.which; - - if (key === KEYS.BACKSPACE && self.$search.val() === '') { - var $previousChoice = self.$searchContainer - .prev('.select2-selection__choice'); - - if ($previousChoice.length > 0) { - var item = $previousChoice.data('data'); - - self.searchRemoveChoice(item); - - evt.preventDefault(); - } - } - }); - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$selection.on('input', '.select2-search--inline', function (evt) { - // Unbind the duplicated `keyup` event - self.$selection.off('keyup.search'); - }); - - this.$selection.on('keyup.search input', '.select2-search--inline', - function (evt) { - self.handleSearch(evt); - }); - }; - - Search.prototype.createPlaceholder = function (decorated, placeholder) { - this.$search.attr('placeholder', placeholder.text); - }; - - Search.prototype.update = function (decorated, data) { - this.$search.attr('placeholder', ''); - - decorated.call(this, data); - - this.$selection.find('.select2-selection__rendered') - .append(this.$searchContainer); - - this.resizeSearch(); - }; - - Search.prototype.handleSearch = function () { - this.resizeSearch(); - - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.searchRemoveChoice = function (decorated, item) { - this.trigger('unselect', { - data: item - }); - - this.trigger('open'); - - this.$search.val(item.text + ' '); - }; - - Search.prototype.resizeSearch = function () { - this.$search.css('width', '25px'); - - var width = ''; - - if (this.$search.attr('placeholder') !== '') { - width = this.$selection.find('.select2-selection__rendered').innerWidth(); - } else { - var minimumWidth = this.$search.val().length + 1; - - width = (minimumWidth * 0.75) + 'em'; - } - - this.$search.css('width', width); - }; - - return Search; -}); - -S2.define('select2/selection/eventRelay',[ - 'jquery' -], function ($) { - function EventRelay () { } - - EventRelay.prototype.bind = function (decorated, container, $container) { - var self = this; - var relayEvents = [ - 'open', 'opening', - 'close', 'closing', - 'select', 'selecting', - 'unselect', 'unselecting' - ]; - - var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting']; - - decorated.call(this, container, $container); - - container.on('*', function (name, params) { - // Ignore events that should not be relayed - if ($.inArray(name, relayEvents) === -1) { - return; - } - - // The parameters should always be an object - params = params || {}; - - // Generate the jQuery event for the Select2 event - var evt = $.Event('select2:' + name, { - params: params - }); - - self.$element.trigger(evt); - - // Only handle preventable events if it was one - if ($.inArray(name, preventableEvents) === -1) { - return; - } - - params.prevented = evt.isDefaultPrevented(); - }); - }; - - return EventRelay; -}); - -S2.define('select2/translation',[ - 'jquery', - 'require' -], function ($, require) { - function Translation (dict) { - this.dict = dict || {}; - } - - Translation.prototype.all = function () { - return this.dict; - }; - - Translation.prototype.get = function (key) { - return this.dict[key]; - }; - - Translation.prototype.extend = function (translation) { - this.dict = $.extend({}, translation.all(), this.dict); - }; - - // Static functions - - Translation._cache = {}; - - Translation.loadPath = function (path) { - if (!(path in Translation._cache)) { - var translations = require(path); - - Translation._cache[path] = translations; - } - - return new Translation(Translation._cache[path]); - }; - - return Translation; -}); - -S2.define('select2/diacritics',[ - -], function () { - var diacritics = { - '\u24B6': 'A', - '\uFF21': 'A', - '\u00C0': 'A', - '\u00C1': 'A', - '\u00C2': 'A', - '\u1EA6': 'A', - '\u1EA4': 'A', - '\u1EAA': 'A', - '\u1EA8': 'A', - '\u00C3': 'A', - '\u0100': 'A', - '\u0102': 'A', - '\u1EB0': 'A', - '\u1EAE': 'A', - '\u1EB4': 'A', - '\u1EB2': 'A', - '\u0226': 'A', - '\u01E0': 'A', - '\u00C4': 'A', - '\u01DE': 'A', - '\u1EA2': 'A', - '\u00C5': 'A', - '\u01FA': 'A', - '\u01CD': 'A', - '\u0200': 'A', - '\u0202': 'A', - '\u1EA0': 'A', - '\u1EAC': 'A', - '\u1EB6': 'A', - '\u1E00': 'A', - '\u0104': 'A', - '\u023A': 'A', - '\u2C6F': 'A', - '\uA732': 'AA', - '\u00C6': 'AE', - '\u01FC': 'AE', - '\u01E2': 'AE', - '\uA734': 'AO', - '\uA736': 'AU', - '\uA738': 'AV', - '\uA73A': 'AV', - '\uA73C': 'AY', - '\u24B7': 'B', - '\uFF22': 'B', - '\u1E02': 'B', - '\u1E04': 'B', - '\u1E06': 'B', - '\u0243': 'B', - '\u0182': 'B', - '\u0181': 'B', - '\u24B8': 'C', - '\uFF23': 'C', - '\u0106': 'C', - '\u0108': 'C', - '\u010A': 'C', - '\u010C': 'C', - '\u00C7': 'C', - '\u1E08': 'C', - '\u0187': 'C', - '\u023B': 'C', - '\uA73E': 'C', - '\u24B9': 'D', - '\uFF24': 'D', - '\u1E0A': 'D', - '\u010E': 'D', - '\u1E0C': 'D', - '\u1E10': 'D', - '\u1E12': 'D', - '\u1E0E': 'D', - '\u0110': 'D', - '\u018B': 'D', - '\u018A': 'D', - '\u0189': 'D', - '\uA779': 'D', - '\u01F1': 'DZ', - '\u01C4': 'DZ', - '\u01F2': 'Dz', - '\u01C5': 'Dz', - '\u24BA': 'E', - '\uFF25': 'E', - '\u00C8': 'E', - '\u00C9': 'E', - '\u00CA': 'E', - '\u1EC0': 'E', - '\u1EBE': 'E', - '\u1EC4': 'E', - '\u1EC2': 'E', - '\u1EBC': 'E', - '\u0112': 'E', - '\u1E14': 'E', - '\u1E16': 'E', - '\u0114': 'E', - '\u0116': 'E', - '\u00CB': 'E', - '\u1EBA': 'E', - '\u011A': 'E', - '\u0204': 'E', - '\u0206': 'E', - '\u1EB8': 'E', - '\u1EC6': 'E', - '\u0228': 'E', - '\u1E1C': 'E', - '\u0118': 'E', - '\u1E18': 'E', - '\u1E1A': 'E', - '\u0190': 'E', - '\u018E': 'E', - '\u24BB': 'F', - '\uFF26': 'F', - '\u1E1E': 'F', - '\u0191': 'F', - '\uA77B': 'F', - '\u24BC': 'G', - '\uFF27': 'G', - '\u01F4': 'G', - '\u011C': 'G', - '\u1E20': 'G', - '\u011E': 'G', - '\u0120': 'G', - '\u01E6': 'G', - '\u0122': 'G', - '\u01E4': 'G', - '\u0193': 'G', - '\uA7A0': 'G', - '\uA77D': 'G', - '\uA77E': 'G', - '\u24BD': 'H', - '\uFF28': 'H', - '\u0124': 'H', - '\u1E22': 'H', - '\u1E26': 'H', - '\u021E': 'H', - '\u1E24': 'H', - '\u1E28': 'H', - '\u1E2A': 'H', - '\u0126': 'H', - '\u2C67': 'H', - '\u2C75': 'H', - '\uA78D': 'H', - '\u24BE': 'I', - '\uFF29': 'I', - '\u00CC': 'I', - '\u00CD': 'I', - '\u00CE': 'I', - '\u0128': 'I', - '\u012A': 'I', - '\u012C': 'I', - '\u0130': 'I', - '\u00CF': 'I', - '\u1E2E': 'I', - '\u1EC8': 'I', - '\u01CF': 'I', - '\u0208': 'I', - '\u020A': 'I', - '\u1ECA': 'I', - '\u012E': 'I', - '\u1E2C': 'I', - '\u0197': 'I', - '\u24BF': 'J', - '\uFF2A': 'J', - '\u0134': 'J', - '\u0248': 'J', - '\u24C0': 'K', - '\uFF2B': 'K', - '\u1E30': 'K', - '\u01E8': 'K', - '\u1E32': 'K', - '\u0136': 'K', - '\u1E34': 'K', - '\u0198': 'K', - '\u2C69': 'K', - '\uA740': 'K', - '\uA742': 'K', - '\uA744': 'K', - '\uA7A2': 'K', - '\u24C1': 'L', - '\uFF2C': 'L', - '\u013F': 'L', - '\u0139': 'L', - '\u013D': 'L', - '\u1E36': 'L', - '\u1E38': 'L', - '\u013B': 'L', - '\u1E3C': 'L', - '\u1E3A': 'L', - '\u0141': 'L', - '\u023D': 'L', - '\u2C62': 'L', - '\u2C60': 'L', - '\uA748': 'L', - '\uA746': 'L', - '\uA780': 'L', - '\u01C7': 'LJ', - '\u01C8': 'Lj', - '\u24C2': 'M', - '\uFF2D': 'M', - '\u1E3E': 'M', - '\u1E40': 'M', - '\u1E42': 'M', - '\u2C6E': 'M', - '\u019C': 'M', - '\u24C3': 'N', - '\uFF2E': 'N', - '\u01F8': 'N', - '\u0143': 'N', - '\u00D1': 'N', - '\u1E44': 'N', - '\u0147': 'N', - '\u1E46': 'N', - '\u0145': 'N', - '\u1E4A': 'N', - '\u1E48': 'N', - '\u0220': 'N', - '\u019D': 'N', - '\uA790': 'N', - '\uA7A4': 'N', - '\u01CA': 'NJ', - '\u01CB': 'Nj', - '\u24C4': 'O', - '\uFF2F': 'O', - '\u00D2': 'O', - '\u00D3': 'O', - '\u00D4': 'O', - '\u1ED2': 'O', - '\u1ED0': 'O', - '\u1ED6': 'O', - '\u1ED4': 'O', - '\u00D5': 'O', - '\u1E4C': 'O', - '\u022C': 'O', - '\u1E4E': 'O', - '\u014C': 'O', - '\u1E50': 'O', - '\u1E52': 'O', - '\u014E': 'O', - '\u022E': 'O', - '\u0230': 'O', - '\u00D6': 'O', - '\u022A': 'O', - '\u1ECE': 'O', - '\u0150': 'O', - '\u01D1': 'O', - '\u020C': 'O', - '\u020E': 'O', - '\u01A0': 'O', - '\u1EDC': 'O', - '\u1EDA': 'O', - '\u1EE0': 'O', - '\u1EDE': 'O', - '\u1EE2': 'O', - '\u1ECC': 'O', - '\u1ED8': 'O', - '\u01EA': 'O', - '\u01EC': 'O', - '\u00D8': 'O', - '\u01FE': 'O', - '\u0186': 'O', - '\u019F': 'O', - '\uA74A': 'O', - '\uA74C': 'O', - '\u01A2': 'OI', - '\uA74E': 'OO', - '\u0222': 'OU', - '\u24C5': 'P', - '\uFF30': 'P', - '\u1E54': 'P', - '\u1E56': 'P', - '\u01A4': 'P', - '\u2C63': 'P', - '\uA750': 'P', - '\uA752': 'P', - '\uA754': 'P', - '\u24C6': 'Q', - '\uFF31': 'Q', - '\uA756': 'Q', - '\uA758': 'Q', - '\u024A': 'Q', - '\u24C7': 'R', - '\uFF32': 'R', - '\u0154': 'R', - '\u1E58': 'R', - '\u0158': 'R', - '\u0210': 'R', - '\u0212': 'R', - '\u1E5A': 'R', - '\u1E5C': 'R', - '\u0156': 'R', - '\u1E5E': 'R', - '\u024C': 'R', - '\u2C64': 'R', - '\uA75A': 'R', - '\uA7A6': 'R', - '\uA782': 'R', - '\u24C8': 'S', - '\uFF33': 'S', - '\u1E9E': 'S', - '\u015A': 'S', - '\u1E64': 'S', - '\u015C': 'S', - '\u1E60': 'S', - '\u0160': 'S', - '\u1E66': 'S', - '\u1E62': 'S', - '\u1E68': 'S', - '\u0218': 'S', - '\u015E': 'S', - '\u2C7E': 'S', - '\uA7A8': 'S', - '\uA784': 'S', - '\u24C9': 'T', - '\uFF34': 'T', - '\u1E6A': 'T', - '\u0164': 'T', - '\u1E6C': 'T', - '\u021A': 'T', - '\u0162': 'T', - '\u1E70': 'T', - '\u1E6E': 'T', - '\u0166': 'T', - '\u01AC': 'T', - '\u01AE': 'T', - '\u023E': 'T', - '\uA786': 'T', - '\uA728': 'TZ', - '\u24CA': 'U', - '\uFF35': 'U', - '\u00D9': 'U', - '\u00DA': 'U', - '\u00DB': 'U', - '\u0168': 'U', - '\u1E78': 'U', - '\u016A': 'U', - '\u1E7A': 'U', - '\u016C': 'U', - '\u00DC': 'U', - '\u01DB': 'U', - '\u01D7': 'U', - '\u01D5': 'U', - '\u01D9': 'U', - '\u1EE6': 'U', - '\u016E': 'U', - '\u0170': 'U', - '\u01D3': 'U', - '\u0214': 'U', - '\u0216': 'U', - '\u01AF': 'U', - '\u1EEA': 'U', - '\u1EE8': 'U', - '\u1EEE': 'U', - '\u1EEC': 'U', - '\u1EF0': 'U', - '\u1EE4': 'U', - '\u1E72': 'U', - '\u0172': 'U', - '\u1E76': 'U', - '\u1E74': 'U', - '\u0244': 'U', - '\u24CB': 'V', - '\uFF36': 'V', - '\u1E7C': 'V', - '\u1E7E': 'V', - '\u01B2': 'V', - '\uA75E': 'V', - '\u0245': 'V', - '\uA760': 'VY', - '\u24CC': 'W', - '\uFF37': 'W', - '\u1E80': 'W', - '\u1E82': 'W', - '\u0174': 'W', - '\u1E86': 'W', - '\u1E84': 'W', - '\u1E88': 'W', - '\u2C72': 'W', - '\u24CD': 'X', - '\uFF38': 'X', - '\u1E8A': 'X', - '\u1E8C': 'X', - '\u24CE': 'Y', - '\uFF39': 'Y', - '\u1EF2': 'Y', - '\u00DD': 'Y', - '\u0176': 'Y', - '\u1EF8': 'Y', - '\u0232': 'Y', - '\u1E8E': 'Y', - '\u0178': 'Y', - '\u1EF6': 'Y', - '\u1EF4': 'Y', - '\u01B3': 'Y', - '\u024E': 'Y', - '\u1EFE': 'Y', - '\u24CF': 'Z', - '\uFF3A': 'Z', - '\u0179': 'Z', - '\u1E90': 'Z', - '\u017B': 'Z', - '\u017D': 'Z', - '\u1E92': 'Z', - '\u1E94': 'Z', - '\u01B5': 'Z', - '\u0224': 'Z', - '\u2C7F': 'Z', - '\u2C6B': 'Z', - '\uA762': 'Z', - '\u24D0': 'a', - '\uFF41': 'a', - '\u1E9A': 'a', - '\u00E0': 'a', - '\u00E1': 'a', - '\u00E2': 'a', - '\u1EA7': 'a', - '\u1EA5': 'a', - '\u1EAB': 'a', - '\u1EA9': 'a', - '\u00E3': 'a', - '\u0101': 'a', - '\u0103': 'a', - '\u1EB1': 'a', - '\u1EAF': 'a', - '\u1EB5': 'a', - '\u1EB3': 'a', - '\u0227': 'a', - '\u01E1': 'a', - '\u00E4': 'a', - '\u01DF': 'a', - '\u1EA3': 'a', - '\u00E5': 'a', - '\u01FB': 'a', - '\u01CE': 'a', - '\u0201': 'a', - '\u0203': 'a', - '\u1EA1': 'a', - '\u1EAD': 'a', - '\u1EB7': 'a', - '\u1E01': 'a', - '\u0105': 'a', - '\u2C65': 'a', - '\u0250': 'a', - '\uA733': 'aa', - '\u00E6': 'ae', - '\u01FD': 'ae', - '\u01E3': 'ae', - '\uA735': 'ao', - '\uA737': 'au', - '\uA739': 'av', - '\uA73B': 'av', - '\uA73D': 'ay', - '\u24D1': 'b', - '\uFF42': 'b', - '\u1E03': 'b', - '\u1E05': 'b', - '\u1E07': 'b', - '\u0180': 'b', - '\u0183': 'b', - '\u0253': 'b', - '\u24D2': 'c', - '\uFF43': 'c', - '\u0107': 'c', - '\u0109': 'c', - '\u010B': 'c', - '\u010D': 'c', - '\u00E7': 'c', - '\u1E09': 'c', - '\u0188': 'c', - '\u023C': 'c', - '\uA73F': 'c', - '\u2184': 'c', - '\u24D3': 'd', - '\uFF44': 'd', - '\u1E0B': 'd', - '\u010F': 'd', - '\u1E0D': 'd', - '\u1E11': 'd', - '\u1E13': 'd', - '\u1E0F': 'd', - '\u0111': 'd', - '\u018C': 'd', - '\u0256': 'd', - '\u0257': 'd', - '\uA77A': 'd', - '\u01F3': 'dz', - '\u01C6': 'dz', - '\u24D4': 'e', - '\uFF45': 'e', - '\u00E8': 'e', - '\u00E9': 'e', - '\u00EA': 'e', - '\u1EC1': 'e', - '\u1EBF': 'e', - '\u1EC5': 'e', - '\u1EC3': 'e', - '\u1EBD': 'e', - '\u0113': 'e', - '\u1E15': 'e', - '\u1E17': 'e', - '\u0115': 'e', - '\u0117': 'e', - '\u00EB': 'e', - '\u1EBB': 'e', - '\u011B': 'e', - '\u0205': 'e', - '\u0207': 'e', - '\u1EB9': 'e', - '\u1EC7': 'e', - '\u0229': 'e', - '\u1E1D': 'e', - '\u0119': 'e', - '\u1E19': 'e', - '\u1E1B': 'e', - '\u0247': 'e', - '\u025B': 'e', - '\u01DD': 'e', - '\u24D5': 'f', - '\uFF46': 'f', - '\u1E1F': 'f', - '\u0192': 'f', - '\uA77C': 'f', - '\u24D6': 'g', - '\uFF47': 'g', - '\u01F5': 'g', - '\u011D': 'g', - '\u1E21': 'g', - '\u011F': 'g', - '\u0121': 'g', - '\u01E7': 'g', - '\u0123': 'g', - '\u01E5': 'g', - '\u0260': 'g', - '\uA7A1': 'g', - '\u1D79': 'g', - '\uA77F': 'g', - '\u24D7': 'h', - '\uFF48': 'h', - '\u0125': 'h', - '\u1E23': 'h', - '\u1E27': 'h', - '\u021F': 'h', - '\u1E25': 'h', - '\u1E29': 'h', - '\u1E2B': 'h', - '\u1E96': 'h', - '\u0127': 'h', - '\u2C68': 'h', - '\u2C76': 'h', - '\u0265': 'h', - '\u0195': 'hv', - '\u24D8': 'i', - '\uFF49': 'i', - '\u00EC': 'i', - '\u00ED': 'i', - '\u00EE': 'i', - '\u0129': 'i', - '\u012B': 'i', - '\u012D': 'i', - '\u00EF': 'i', - '\u1E2F': 'i', - '\u1EC9': 'i', - '\u01D0': 'i', - '\u0209': 'i', - '\u020B': 'i', - '\u1ECB': 'i', - '\u012F': 'i', - '\u1E2D': 'i', - '\u0268': 'i', - '\u0131': 'i', - '\u24D9': 'j', - '\uFF4A': 'j', - '\u0135': 'j', - '\u01F0': 'j', - '\u0249': 'j', - '\u24DA': 'k', - '\uFF4B': 'k', - '\u1E31': 'k', - '\u01E9': 'k', - '\u1E33': 'k', - '\u0137': 'k', - '\u1E35': 'k', - '\u0199': 'k', - '\u2C6A': 'k', - '\uA741': 'k', - '\uA743': 'k', - '\uA745': 'k', - '\uA7A3': 'k', - '\u24DB': 'l', - '\uFF4C': 'l', - '\u0140': 'l', - '\u013A': 'l', - '\u013E': 'l', - '\u1E37': 'l', - '\u1E39': 'l', - '\u013C': 'l', - '\u1E3D': 'l', - '\u1E3B': 'l', - '\u017F': 'l', - '\u0142': 'l', - '\u019A': 'l', - '\u026B': 'l', - '\u2C61': 'l', - '\uA749': 'l', - '\uA781': 'l', - '\uA747': 'l', - '\u01C9': 'lj', - '\u24DC': 'm', - '\uFF4D': 'm', - '\u1E3F': 'm', - '\u1E41': 'm', - '\u1E43': 'm', - '\u0271': 'm', - '\u026F': 'm', - '\u24DD': 'n', - '\uFF4E': 'n', - '\u01F9': 'n', - '\u0144': 'n', - '\u00F1': 'n', - '\u1E45': 'n', - '\u0148': 'n', - '\u1E47': 'n', - '\u0146': 'n', - '\u1E4B': 'n', - '\u1E49': 'n', - '\u019E': 'n', - '\u0272': 'n', - '\u0149': 'n', - '\uA791': 'n', - '\uA7A5': 'n', - '\u01CC': 'nj', - '\u24DE': 'o', - '\uFF4F': 'o', - '\u00F2': 'o', - '\u00F3': 'o', - '\u00F4': 'o', - '\u1ED3': 'o', - '\u1ED1': 'o', - '\u1ED7': 'o', - '\u1ED5': 'o', - '\u00F5': 'o', - '\u1E4D': 'o', - '\u022D': 'o', - '\u1E4F': 'o', - '\u014D': 'o', - '\u1E51': 'o', - '\u1E53': 'o', - '\u014F': 'o', - '\u022F': 'o', - '\u0231': 'o', - '\u00F6': 'o', - '\u022B': 'o', - '\u1ECF': 'o', - '\u0151': 'o', - '\u01D2': 'o', - '\u020D': 'o', - '\u020F': 'o', - '\u01A1': 'o', - '\u1EDD': 'o', - '\u1EDB': 'o', - '\u1EE1': 'o', - '\u1EDF': 'o', - '\u1EE3': 'o', - '\u1ECD': 'o', - '\u1ED9': 'o', - '\u01EB': 'o', - '\u01ED': 'o', - '\u00F8': 'o', - '\u01FF': 'o', - '\u0254': 'o', - '\uA74B': 'o', - '\uA74D': 'o', - '\u0275': 'o', - '\u01A3': 'oi', - '\u0223': 'ou', - '\uA74F': 'oo', - '\u24DF': 'p', - '\uFF50': 'p', - '\u1E55': 'p', - '\u1E57': 'p', - '\u01A5': 'p', - '\u1D7D': 'p', - '\uA751': 'p', - '\uA753': 'p', - '\uA755': 'p', - '\u24E0': 'q', - '\uFF51': 'q', - '\u024B': 'q', - '\uA757': 'q', - '\uA759': 'q', - '\u24E1': 'r', - '\uFF52': 'r', - '\u0155': 'r', - '\u1E59': 'r', - '\u0159': 'r', - '\u0211': 'r', - '\u0213': 'r', - '\u1E5B': 'r', - '\u1E5D': 'r', - '\u0157': 'r', - '\u1E5F': 'r', - '\u024D': 'r', - '\u027D': 'r', - '\uA75B': 'r', - '\uA7A7': 'r', - '\uA783': 'r', - '\u24E2': 's', - '\uFF53': 's', - '\u00DF': 's', - '\u015B': 's', - '\u1E65': 's', - '\u015D': 's', - '\u1E61': 's', - '\u0161': 's', - '\u1E67': 's', - '\u1E63': 's', - '\u1E69': 's', - '\u0219': 's', - '\u015F': 's', - '\u023F': 's', - '\uA7A9': 's', - '\uA785': 's', - '\u1E9B': 's', - '\u24E3': 't', - '\uFF54': 't', - '\u1E6B': 't', - '\u1E97': 't', - '\u0165': 't', - '\u1E6D': 't', - '\u021B': 't', - '\u0163': 't', - '\u1E71': 't', - '\u1E6F': 't', - '\u0167': 't', - '\u01AD': 't', - '\u0288': 't', - '\u2C66': 't', - '\uA787': 't', - '\uA729': 'tz', - '\u24E4': 'u', - '\uFF55': 'u', - '\u00F9': 'u', - '\u00FA': 'u', - '\u00FB': 'u', - '\u0169': 'u', - '\u1E79': 'u', - '\u016B': 'u', - '\u1E7B': 'u', - '\u016D': 'u', - '\u00FC': 'u', - '\u01DC': 'u', - '\u01D8': 'u', - '\u01D6': 'u', - '\u01DA': 'u', - '\u1EE7': 'u', - '\u016F': 'u', - '\u0171': 'u', - '\u01D4': 'u', - '\u0215': 'u', - '\u0217': 'u', - '\u01B0': 'u', - '\u1EEB': 'u', - '\u1EE9': 'u', - '\u1EEF': 'u', - '\u1EED': 'u', - '\u1EF1': 'u', - '\u1EE5': 'u', - '\u1E73': 'u', - '\u0173': 'u', - '\u1E77': 'u', - '\u1E75': 'u', - '\u0289': 'u', - '\u24E5': 'v', - '\uFF56': 'v', - '\u1E7D': 'v', - '\u1E7F': 'v', - '\u028B': 'v', - '\uA75F': 'v', - '\u028C': 'v', - '\uA761': 'vy', - '\u24E6': 'w', - '\uFF57': 'w', - '\u1E81': 'w', - '\u1E83': 'w', - '\u0175': 'w', - '\u1E87': 'w', - '\u1E85': 'w', - '\u1E98': 'w', - '\u1E89': 'w', - '\u2C73': 'w', - '\u24E7': 'x', - '\uFF58': 'x', - '\u1E8B': 'x', - '\u1E8D': 'x', - '\u24E8': 'y', - '\uFF59': 'y', - '\u1EF3': 'y', - '\u00FD': 'y', - '\u0177': 'y', - '\u1EF9': 'y', - '\u0233': 'y', - '\u1E8F': 'y', - '\u00FF': 'y', - '\u1EF7': 'y', - '\u1E99': 'y', - '\u1EF5': 'y', - '\u01B4': 'y', - '\u024F': 'y', - '\u1EFF': 'y', - '\u24E9': 'z', - '\uFF5A': 'z', - '\u017A': 'z', - '\u1E91': 'z', - '\u017C': 'z', - '\u017E': 'z', - '\u1E93': 'z', - '\u1E95': 'z', - '\u01B6': 'z', - '\u0225': 'z', - '\u0240': 'z', - '\u2C6C': 'z', - '\uA763': 'z', - '\u0386': '\u0391', - '\u0388': '\u0395', - '\u0389': '\u0397', - '\u038A': '\u0399', - '\u03AA': '\u0399', - '\u038C': '\u039F', - '\u038E': '\u03A5', - '\u03AB': '\u03A5', - '\u038F': '\u03A9', - '\u03AC': '\u03B1', - '\u03AD': '\u03B5', - '\u03AE': '\u03B7', - '\u03AF': '\u03B9', - '\u03CA': '\u03B9', - '\u0390': '\u03B9', - '\u03CC': '\u03BF', - '\u03CD': '\u03C5', - '\u03CB': '\u03C5', - '\u03B0': '\u03C5', - '\u03C9': '\u03C9', - '\u03C2': '\u03C3' - }; - - return diacritics; -}); - -S2.define('select2/data/base',[ - '../utils' -], function (Utils) { - function BaseAdapter ($element, options) { - BaseAdapter.__super__.constructor.call(this); - } - - Utils.Extend(BaseAdapter, Utils.Observable); - - BaseAdapter.prototype.current = function (callback) { - throw new Error('The `current` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.query = function (params, callback) { - throw new Error('The `query` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.bind = function (container, $container) { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.destroy = function () { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.generateResultId = function (container, data) { - var id = container.id + '-result-'; - - id += Utils.generateChars(4); - - if (data.id != null) { - id += '-' + data.id.toString(); - } else { - id += '-' + Utils.generateChars(4); - } - return id; - }; - - return BaseAdapter; -}); - -S2.define('select2/data/select',[ - './base', - '../utils', - 'jquery' -], function (BaseAdapter, Utils, $) { - function SelectAdapter ($element, options) { - this.$element = $element; - this.options = options; - - SelectAdapter.__super__.constructor.call(this); - } - - Utils.Extend(SelectAdapter, BaseAdapter); - - SelectAdapter.prototype.current = function (callback) { - var data = []; - var self = this; - - this.$element.find(':selected').each(function () { - var $option = $(this); - - var option = self.item($option); - - data.push(option); - }); - - callback(data); - }; - - SelectAdapter.prototype.select = function (data) { - var self = this; - - data.selected = true; - - // If data.element is a DOM node, use it instead - if ($(data.element).is('option')) { - data.element.selected = true; - - this.$element.trigger('change'); - - return; - } - - if (this.$element.prop('multiple')) { - this.current(function (currentData) { - var val = []; - - data = [data]; - data.push.apply(data, currentData); - - for (var d = 0; d < data.length; d++) { - var id = data[d].id; - - if ($.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - self.$element.trigger('change'); - }); - } else { - var val = data.id; - - this.$element.val(val); - this.$element.trigger('change'); - } - }; - - SelectAdapter.prototype.unselect = function (data) { - var self = this; - - if (!this.$element.prop('multiple')) { - return; - } - - data.selected = false; - - if ($(data.element).is('option')) { - data.element.selected = false; - - this.$element.trigger('change'); - - return; - } - - this.current(function (currentData) { - var val = []; - - for (var d = 0; d < currentData.length; d++) { - var id = currentData[d].id; - - if (id !== data.id && $.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - - self.$element.trigger('change'); - }); - }; - - SelectAdapter.prototype.bind = function (container, $container) { - var self = this; - - this.container = container; - - container.on('select', function (params) { - self.select(params.data); - }); - - container.on('unselect', function (params) { - self.unselect(params.data); - }); - }; - - SelectAdapter.prototype.destroy = function () { - // Remove anything added to child elements - this.$element.find('*').each(function () { - // Remove any custom data set by Select2 - $.removeData(this, 'data'); - }); - }; - - SelectAdapter.prototype.query = function (params, callback) { - var data = []; - var self = this; - - var $options = this.$element.children(); - - $options.each(function () { - var $option = $(this); - - if (!$option.is('option') && !$option.is('optgroup')) { - return; - } - - var option = self.item($option); - - var matches = self.matches(params, option); - - if (matches !== null) { - data.push(matches); - } - }); - - callback({ - results: data - }); - }; - - SelectAdapter.prototype.addOptions = function ($options) { - Utils.appendMany(this.$element, $options); - }; - - SelectAdapter.prototype.option = function (data) { - var option; - - if (data.children) { - option = document.createElement('optgroup'); - option.label = data.text; - } else { - option = document.createElement('option'); - - if (option.textContent !== undefined) { - option.textContent = data.text; - } else { - option.innerText = data.text; - } - } - - if (data.id) { - option.value = data.id; - } - - if (data.disabled) { - option.disabled = true; - } - - if (data.selected) { - option.selected = true; - } - - if (data.title) { - option.title = data.title; - } - - var $option = $(option); - - var normalizedData = this._normalizeItem(data); - normalizedData.element = option; - - // Override the option's data with the combined data - $.data(option, 'data', normalizedData); - - return $option; - }; - - SelectAdapter.prototype.item = function ($option) { - var data = {}; - - data = $.data($option[0], 'data'); - - if (data != null) { - return data; - } - - if ($option.is('option')) { - data = { - id: $option.val(), - text: $option.text(), - disabled: $option.prop('disabled'), - selected: $option.prop('selected'), - title: $option.prop('title') - }; - } else if ($option.is('optgroup')) { - data = { - text: $option.prop('label'), - children: [], - title: $option.prop('title') - }; - - var $children = $option.children('option'); - var children = []; - - for (var c = 0; c < $children.length; c++) { - var $child = $($children[c]); - - var child = this.item($child); - - children.push(child); - } - - data.children = children; - } - - data = this._normalizeItem(data); - data.element = $option[0]; - - $.data($option[0], 'data', data); - - return data; - }; - - SelectAdapter.prototype._normalizeItem = function (item) { - if (!$.isPlainObject(item)) { - item = { - id: item, - text: item - }; - } - - item = $.extend({}, { - text: '' - }, item); - - var defaults = { - selected: false, - disabled: false - }; - - if (item.id != null) { - item.id = item.id.toString(); - } - - if (item.text != null) { - item.text = item.text.toString(); - } - - if (item._resultId == null && item.id && this.container != null) { - item._resultId = this.generateResultId(this.container, item); - } - - return $.extend({}, defaults, item); - }; - - SelectAdapter.prototype.matches = function (params, data) { - var matcher = this.options.get('matcher'); - - return matcher(params, data); - }; - - return SelectAdapter; -}); - -S2.define('select2/data/array',[ - './select', - '../utils', - 'jquery' -], function (SelectAdapter, Utils, $) { - function ArrayAdapter ($element, options) { - var data = options.get('data') || []; - - ArrayAdapter.__super__.constructor.call(this, $element, options); - - this.addOptions(this.convertToOptions(data)); - } - - Utils.Extend(ArrayAdapter, SelectAdapter); - - ArrayAdapter.prototype.select = function (data) { - var $option = this.$element.find('option').filter(function (i, elm) { - return elm.value == data.id.toString(); - }); - - if ($option.length === 0) { - $option = this.option(data); - - this.addOptions($option); - } - - ArrayAdapter.__super__.select.call(this, data); - }; - - ArrayAdapter.prototype.convertToOptions = function (data) { - var self = this; - - var $existing = this.$element.find('option'); - var existingIds = $existing.map(function () { - return self.item($(this)).id; - }).get(); - - var $options = []; - - // Filter out all items except for the one passed in the argument - function onlyItem (item) { - return function () { - return $(this).val() == item.id; - }; - } - - for (var d = 0; d < data.length; d++) { - var item = this._normalizeItem(data[d]); - - // Skip items which were pre-loaded, only merge the data - if ($.inArray(item.id, existingIds) >= 0) { - var $existingOption = $existing.filter(onlyItem(item)); - - var existingData = this.item($existingOption); - var newData = $.extend(true, {}, existingData, item); - - var $newOption = this.option(existingData); - - $existingOption.replaceWith($newOption); - - continue; - } - - var $option = this.option(item); - - if (item.children) { - var $children = this.convertToOptions(item.children); - - Utils.appendMany($option, $children); - } - - $options.push($option); - } - - return $options; - }; - - return ArrayAdapter; -}); - -S2.define('select2/data/ajax',[ - './array', - '../utils', - 'jquery' -], function (ArrayAdapter, Utils, $) { - function AjaxAdapter ($element, options) { - this.ajaxOptions = this._applyDefaults(options.get('ajax')); - - if (this.ajaxOptions.processResults != null) { - this.processResults = this.ajaxOptions.processResults; - } - - ArrayAdapter.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(AjaxAdapter, ArrayAdapter); - - AjaxAdapter.prototype._applyDefaults = function (options) { - var defaults = { - data: function (params) { - return { - q: params.term - }; - }, - transport: function (params, success, failure) { - var $request = $.ajax(params); - - $request.then(success); - $request.fail(failure); - - return $request; - } - }; - - return $.extend({}, defaults, options, true); - }; - - AjaxAdapter.prototype.processResults = function (results) { - return results; - }; - - AjaxAdapter.prototype.query = function (params, callback) { - var matches = []; - var self = this; - - if (this._request != null) { - // JSONP requests cannot always be aborted - if ($.isFunction(this._request.abort)) { - this._request.abort(); - } - - this._request = null; - } - - var options = $.extend({ - type: 'GET' - }, this.ajaxOptions); - - if (typeof options.url === 'function') { - options.url = options.url(params); - } - - if (typeof options.data === 'function') { - options.data = options.data(params); - } - - function request () { - var $request = options.transport(options, function (data) { - var results = self.processResults(data, params); - - if (self.options.get('debug') && window.console && console.error) { - // Check to make sure that the response included a `results` key. - if (!results || !results.results || !$.isArray(results.results)) { - console.error( - 'Select2: The AJAX results did not return an array in the ' + - '`results` key of the response.' - ); - } - } - - callback(results); - }, function () { - // TODO: Handle AJAX errors - }); - - self._request = $request; - } - - if (this.ajaxOptions.delay && params.term !== '') { - if (this._queryTimeout) { - window.clearTimeout(this._queryTimeout); - } - - this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); - } else { - request(); - } - }; - - return AjaxAdapter; -}); - -S2.define('select2/data/tags',[ - 'jquery' -], function ($) { - function Tags (decorated, $element, options) { - var tags = options.get('tags'); - - var createTag = options.get('createTag'); - - if (createTag !== undefined) { - this.createTag = createTag; - } - - decorated.call(this, $element, options); - - if ($.isArray(tags)) { - for (var t = 0; t < tags.length; t++) { - var tag = tags[t]; - var item = this._normalizeItem(tag); - - var $option = this.option(item); - - this.$element.append($option); - } - } - } - - Tags.prototype.query = function (decorated, params, callback) { - var self = this; - - this._removeOldTags(); - - if (params.term == null || params.page != null) { - decorated.call(this, params, callback); - return; - } - - function wrapper (obj, child) { - var data = obj.results; - - for (var i = 0; i < data.length; i++) { - var option = data[i]; - - var checkChildren = ( - option.children != null && - !wrapper({ - results: option.children - }, true) - ); - - var checkText = option.text === params.term; - - if (checkText || checkChildren) { - if (child) { - return false; - } - - obj.data = data; - callback(obj); - - return; - } - } - - if (child) { - return true; - } - - var tag = self.createTag(params); - - if (tag != null) { - var $option = self.option(tag); - $option.attr('data-select2-tag', true); - - self.addOptions([$option]); - - self.insertTag(data, tag); - } - - obj.results = data; - - callback(obj); - } - - decorated.call(this, params, wrapper); - }; - - Tags.prototype.createTag = function (decorated, params) { - var term = $.trim(params.term); - - if (term === '') { - return null; - } - - return { - id: term, - text: term - }; - }; - - Tags.prototype.insertTag = function (_, data, tag) { - data.unshift(tag); - }; - - Tags.prototype._removeOldTags = function (_) { - var tag = this._lastTag; - - var $options = this.$element.find('option[data-select2-tag]'); - - $options.each(function () { - if (this.selected) { - return; - } - - $(this).remove(); - }); - }; - - return Tags; -}); - -S2.define('select2/data/tokenizer',[ - 'jquery' -], function ($) { - function Tokenizer (decorated, $element, options) { - var tokenizer = options.get('tokenizer'); - - if (tokenizer !== undefined) { - this.tokenizer = tokenizer; - } - - decorated.call(this, $element, options); - } - - Tokenizer.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - this.$search = container.dropdown.$search || container.selection.$search || - $container.find('.select2-search__field'); - }; - - Tokenizer.prototype.query = function (decorated, params, callback) { - var self = this; - - function select (data) { - self.select(data); - } - - params.term = params.term || ''; - - var tokenData = this.tokenizer(params, this.options, select); - - if (tokenData.term !== params.term) { - // Replace the search term if we have the search box - if (this.$search.length) { - this.$search.val(tokenData.term); - this.$search.focus(); - } - - params.term = tokenData.term; - } - - decorated.call(this, params, callback); - }; - - Tokenizer.prototype.tokenizer = function (_, params, options, callback) { - var separators = options.get('tokenSeparators') || []; - var term = params.term; - var i = 0; - - var createTag = this.createTag || function (params) { - return { - id: params.term, - text: params.term - }; - }; - - while (i < term.length) { - var termChar = term[i]; - - if ($.inArray(termChar, separators) === -1) { - i++; - - continue; - } - - var part = term.substr(0, i); - var partParams = $.extend({}, params, { - term: part - }); - - var data = createTag(partParams); - - callback(data); - - // Reset the term to not include the tokenized portion - term = term.substr(i + 1) || ''; - i = 0; - } - - return { - term: term - }; - }; - - return Tokenizer; -}); - -S2.define('select2/data/minimumInputLength',[ - -], function () { - function MinimumInputLength (decorated, $e, options) { - this.minimumInputLength = options.get('minimumInputLength'); - - decorated.call(this, $e, options); - } - - MinimumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (params.term.length < this.minimumInputLength) { - this.trigger('results:message', { - message: 'inputTooShort', - args: { - minimum: this.minimumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MinimumInputLength; -}); - -S2.define('select2/data/maximumInputLength',[ - -], function () { - function MaximumInputLength (decorated, $e, options) { - this.maximumInputLength = options.get('maximumInputLength'); - - decorated.call(this, $e, options); - } - - MaximumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (this.maximumInputLength > 0 && - params.term.length > this.maximumInputLength) { - this.trigger('results:message', { - message: 'inputTooLong', - args: { - maximum: this.maximumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MaximumInputLength; -}); - -S2.define('select2/data/maximumSelectionLength',[ - -], function (){ - function MaximumSelectionLength (decorated, $e, options) { - this.maximumSelectionLength = options.get('maximumSelectionLength'); - - decorated.call(this, $e, options); - } - - MaximumSelectionLength.prototype.query = - function (decorated, params, callback) { - var self = this; - - this.current(function (currentData) { - var count = currentData != null ? currentData.length : 0; - if (self.maximumSelectionLength > 0 && - count >= self.maximumSelectionLength) { - self.trigger('results:message', { - message: 'maximumSelected', - args: { - maximum: self.maximumSelectionLength - } - }); - return; - } - decorated.call(self, params, callback); - }); - }; - - return MaximumSelectionLength; -}); - -S2.define('select2/dropdown',[ - 'jquery', - './utils' -], function ($, Utils) { - function Dropdown ($element, options) { - this.$element = $element; - this.options = options; - - Dropdown.__super__.constructor.call(this); - } - - Utils.Extend(Dropdown, Utils.Observable); - - Dropdown.prototype.render = function () { - var $dropdown = $( - '' + - '' + - '' - ); - - $dropdown.attr('dir', this.options.get('dir')); - - this.$dropdown = $dropdown; - - return $dropdown; - }; - - Dropdown.prototype.position = function ($dropdown, $container) { - // Should be implmented in subclasses - }; - - Dropdown.prototype.destroy = function () { - // Remove the dropdown from the DOM - this.$dropdown.remove(); - }; - - return Dropdown; -}); - -S2.define('select2/dropdown/search',[ - 'jquery', - '../utils' -], function ($, Utils) { - function Search () { } - - Search.prototype.render = function (decorated) { - var $rendered = decorated.call(this); - - var $search = $( - '' + - '' + - '' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - $rendered.prepend($search); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - this.$search.on('keydown', function (evt) { - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - }); - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$search.on('input', function (evt) { - // Unbind the duplicated `keyup` event - $(this).off('keyup'); - }); - - this.$search.on('keyup input', function (evt) { - self.handleSearch(evt); - }); - - container.on('open', function () { - self.$search.attr('tabindex', 0); - - self.$search.focus(); - - window.setTimeout(function () { - self.$search.focus(); - }, 0); - }); - - container.on('close', function () { - self.$search.attr('tabindex', -1); - - self.$search.val(''); - }); - - container.on('results:all', function (params) { - if (params.query.term == null || params.query.term === '') { - var showSearch = self.showSearch(params); - - if (showSearch) { - self.$searchContainer.removeClass('select2-search--hide'); - } else { - self.$searchContainer.addClass('select2-search--hide'); - } - } - }); - }; - - Search.prototype.handleSearch = function (evt) { - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.showSearch = function (_, params) { - return true; - }; - - return Search; -}); - -S2.define('select2/dropdown/hidePlaceholder',[ - -], function () { - function HidePlaceholder (decorated, $element, options, dataAdapter) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options, dataAdapter); - } - - HidePlaceholder.prototype.append = function (decorated, data) { - data.results = this.removePlaceholder(data.results); - - decorated.call(this, data); - }; - - HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - HidePlaceholder.prototype.removePlaceholder = function (_, data) { - var modifiedData = data.slice(0); - - for (var d = data.length - 1; d >= 0; d--) { - var item = data[d]; - - if (this.placeholder.id === item.id) { - modifiedData.splice(d, 1); - } - } - - return modifiedData; - }; - - return HidePlaceholder; -}); - -S2.define('select2/dropdown/infiniteScroll',[ - 'jquery' -], function ($) { - function InfiniteScroll (decorated, $element, options, dataAdapter) { - this.lastParams = {}; - - decorated.call(this, $element, options, dataAdapter); - - this.$loadingMore = this.createLoadingMore(); - this.loading = false; - } - - InfiniteScroll.prototype.append = function (decorated, data) { - this.$loadingMore.remove(); - this.loading = false; - - decorated.call(this, data); - - if (this.showLoadingMore(data)) { - this.$results.append(this.$loadingMore); - } - }; - - InfiniteScroll.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('query', function (params) { - self.lastParams = params; - self.loading = true; - }); - - container.on('query:append', function (params) { - self.lastParams = params; - self.loading = true; - }); - - this.$results.on('scroll', function () { - var isLoadMoreVisible = $.contains( - document.documentElement, - self.$loadingMore[0] - ); - - if (self.loading || !isLoadMoreVisible) { - return; - } - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var loadingMoreOffset = self.$loadingMore.offset().top + - self.$loadingMore.outerHeight(false); - - if (currentOffset + 50 >= loadingMoreOffset) { - self.loadMore(); - } - }); - }; - - InfiniteScroll.prototype.loadMore = function () { - this.loading = true; - - var params = $.extend({}, {page: 1}, this.lastParams); - - params.page++; - - this.trigger('query:append', params); - }; - - InfiniteScroll.prototype.showLoadingMore = function (_, data) { - return data.pagination && data.pagination.more; - }; - - InfiniteScroll.prototype.createLoadingMore = function () { - var $option = $( - '
        • ' - ); - - var message = this.options.get('translations').get('loadingMore'); - - $option.html(message(this.lastParams)); - - return $option; - }; - - return InfiniteScroll; -}); - -S2.define('select2/dropdown/attachBody',[ - 'jquery', - '../utils' -], function ($, Utils) { - function AttachBody (decorated, $element, options) { - this.$dropdownParent = options.get('dropdownParent') || document.body; - - decorated.call(this, $element, options); - } - - AttachBody.prototype.bind = function (decorated, container, $container) { - var self = this; - - var setupResultsEvents = false; - - decorated.call(this, container, $container); - - container.on('open', function () { - self._showDropdown(); - self._attachPositioningHandler(container); - - if (!setupResultsEvents) { - setupResultsEvents = true; - - container.on('results:all', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('results:append', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - } - }); - - container.on('close', function () { - self._hideDropdown(); - self._detachPositioningHandler(container); - }); - - this.$dropdownContainer.on('mousedown', function (evt) { - evt.stopPropagation(); - }); - }; - - AttachBody.prototype.position = function (decorated, $dropdown, $container) { - // Clone all of the container classes - $dropdown.attr('class', $container.attr('class')); - - $dropdown.removeClass('select2'); - $dropdown.addClass('select2-container--open'); - - $dropdown.css({ - position: 'absolute', - top: -999999 - }); - - this.$container = $container; - }; - - AttachBody.prototype.render = function (decorated) { - var $container = $(''); - - var $dropdown = decorated.call(this); - $container.append($dropdown); - - this.$dropdownContainer = $container; - - return $container; - }; - - AttachBody.prototype._hideDropdown = function (decorated) { - this.$dropdownContainer.detach(); - }; - - AttachBody.prototype._attachPositioningHandler = function (container) { - var self = this; - - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.each(function () { - $(this).data('select2-scroll-position', { - x: $(this).scrollLeft(), - y: $(this).scrollTop() - }); - }); - - $watchers.on(scrollEvent, function (ev) { - var position = $(this).data('select2-scroll-position'); - $(this).scrollTop(position.y); - }); - - $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, - function (e) { - self._positionDropdown(); - self._resizeDropdown(); - }); - }; - - AttachBody.prototype._detachPositioningHandler = function (container) { - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.off(scrollEvent); - - $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); - }; - - AttachBody.prototype._positionDropdown = function () { - var $window = $(window); - - var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); - var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); - - var newDirection = null; - - var position = this.$container.position(); - var offset = this.$container.offset(); - - offset.bottom = offset.top + this.$container.outerHeight(false); - - var container = { - height: this.$container.outerHeight(false) - }; - - container.top = offset.top; - container.bottom = offset.top + container.height; - - var dropdown = { - height: this.$dropdown.outerHeight(false) - }; - - var viewport = { - top: $window.scrollTop(), - bottom: $window.scrollTop() + $window.height() - }; - - var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); - var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); - - var css = { - left: offset.left, - top: container.bottom - }; - - if (!isCurrentlyAbove && !isCurrentlyBelow) { - newDirection = 'below'; - } - - if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { - newDirection = 'above'; - } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { - newDirection = 'below'; - } - - if (newDirection == 'above' || - (isCurrentlyAbove && newDirection !== 'below')) { - css.top = container.top - dropdown.height; - } - - if (newDirection != null) { - this.$dropdown - .removeClass('select2-dropdown--below select2-dropdown--above') - .addClass('select2-dropdown--' + newDirection); - this.$container - .removeClass('select2-container--below select2-container--above') - .addClass('select2-container--' + newDirection); - } - - this.$dropdownContainer.css(css); - }; - - AttachBody.prototype._resizeDropdown = function () { - this.$dropdownContainer.width(); - - var css = { - width: this.$container.outerWidth(false) + 'px' - }; - - if (this.options.get('dropdownAutoWidth')) { - css.minWidth = css.width; - css.width = 'auto'; - } - - this.$dropdown.css(css); - }; - - AttachBody.prototype._showDropdown = function (decorated) { - this.$dropdownContainer.appendTo(this.$dropdownParent); - - this._positionDropdown(); - this._resizeDropdown(); - }; - - return AttachBody; -}); - -S2.define('select2/dropdown/minimumResultsForSearch',[ - -], function () { - function countResults (data) { - var count = 0; - - for (var d = 0; d < data.length; d++) { - var item = data[d]; - - if (item.children) { - count += countResults(item.children); - } else { - count++; - } - } - - return count; - } - - function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { - this.minimumResultsForSearch = options.get('minimumResultsForSearch'); - - if (this.minimumResultsForSearch < 0) { - this.minimumResultsForSearch = Infinity; - } - - decorated.call(this, $element, options, dataAdapter); - } - - MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { - if (countResults(params.data.results) < this.minimumResultsForSearch) { - return false; - } - - return decorated.call(this, params); - }; - - return MinimumResultsForSearch; -}); - -S2.define('select2/dropdown/selectOnClose',[ - -], function () { - function SelectOnClose () { } - - SelectOnClose.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('close', function () { - self._handleSelectOnClose(); - }); - }; - - SelectOnClose.prototype._handleSelectOnClose = function () { - var $highlightedResults = this.getHighlightedResults(); - - if ($highlightedResults.length < 1) { - return; - } - - this.trigger('select', { - data: $highlightedResults.data('data') - }); - }; - - return SelectOnClose; -}); - -S2.define('select2/dropdown/closeOnSelect',[ - -], function () { - function CloseOnSelect () { } - - CloseOnSelect.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('select', function (evt) { - self._selectTriggered(evt); - }); - - container.on('unselect', function (evt) { - self._selectTriggered(evt); - }); - }; - - CloseOnSelect.prototype._selectTriggered = function (_, evt) { - var originalEvent = evt.originalEvent; - - // Don't close if the control key is being held - if (originalEvent && originalEvent.ctrlKey) { - return; - } - - this.trigger('close'); - }; - - return CloseOnSelect; -}); - -S2.define('select2/i18n/en',[],function () { - // English - return { - errorLoading: function () { - return 'The results could not be loaded.'; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - - var message = 'Please delete ' + overChars + ' character'; - - if (overChars != 1) { - message += 's'; - } - - return message; - }, - inputTooShort: function (args) { - var remainingChars = args.minimum - args.input.length; - - var message = 'Please enter ' + remainingChars + ' or more characters'; - - return message; - }, - loadingMore: function () { - return 'Loading more results…'; - }, - maximumSelected: function (args) { - var message = 'You can only select ' + args.maximum + ' item'; - - if (args.maximum != 1) { - message += 's'; - } - - return message; - }, - noResults: function () { - return 'No results found'; - }, - searching: function () { - return 'Searching…'; - } - }; -}); - -S2.define('select2/defaults',[ - 'jquery', - 'require', - - './results', - - './selection/single', - './selection/multiple', - './selection/placeholder', - './selection/allowClear', - './selection/search', - './selection/eventRelay', - - './utils', - './translation', - './diacritics', - - './data/select', - './data/array', - './data/ajax', - './data/tags', - './data/tokenizer', - './data/minimumInputLength', - './data/maximumInputLength', - './data/maximumSelectionLength', - - './dropdown', - './dropdown/search', - './dropdown/hidePlaceholder', - './dropdown/infiniteScroll', - './dropdown/attachBody', - './dropdown/minimumResultsForSearch', - './dropdown/selectOnClose', - './dropdown/closeOnSelect', - - './i18n/en' -], function ($, require, - - ResultsList, - - SingleSelection, MultipleSelection, Placeholder, AllowClear, - SelectionSearch, EventRelay, - - Utils, Translation, DIACRITICS, - - SelectData, ArrayData, AjaxData, Tags, Tokenizer, - MinimumInputLength, MaximumInputLength, MaximumSelectionLength, - - Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, - AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, - - EnglishTranslation) { - function Defaults () { - this.reset(); - } - - Defaults.prototype.apply = function (options) { - options = $.extend({}, this.defaults, options); - - if (options.dataAdapter == null) { - if (options.ajax != null) { - options.dataAdapter = AjaxData; - } else if (options.data != null) { - options.dataAdapter = ArrayData; - } else { - options.dataAdapter = SelectData; - } - - if (options.minimumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MinimumInputLength - ); - } - - if (options.maximumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumInputLength - ); - } - - if (options.maximumSelectionLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumSelectionLength - ); - } - - if (options.tags) { - options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); - } - - if (options.tokenSeparators != null || options.tokenizer != null) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Tokenizer - ); - } - - if (options.query != null) { - var Query = require(options.amdBase + 'compat/query'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Query - ); - } - - if (options.initSelection != null) { - var InitSelection = require(options.amdBase + 'compat/initSelection'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - InitSelection - ); - } - } - - if (options.resultsAdapter == null) { - options.resultsAdapter = ResultsList; - - if (options.ajax != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - InfiniteScroll - ); - } - - if (options.placeholder != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - HidePlaceholder - ); - } - - if (options.selectOnClose) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - SelectOnClose - ); - } - } - - if (options.dropdownAdapter == null) { - if (options.multiple) { - options.dropdownAdapter = Dropdown; - } else { - var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); - - options.dropdownAdapter = SearchableDropdown; - } - - if (options.minimumResultsForSearch !== 0) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - MinimumResultsForSearch - ); - } - - if (options.closeOnSelect) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - CloseOnSelect - ); - } - - if ( - options.dropdownCssClass != null || - options.dropdownCss != null || - options.adaptDropdownCssClass != null - ) { - var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - DropdownCSS - ); - } - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - AttachBody - ); - } - - if (options.selectionAdapter == null) { - if (options.multiple) { - options.selectionAdapter = MultipleSelection; - } else { - options.selectionAdapter = SingleSelection; - } - - // Add the placeholder mixin if a placeholder was specified - if (options.placeholder != null) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - Placeholder - ); - } - - if (options.allowClear) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - AllowClear - ); - } - - if (options.multiple) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - SelectionSearch - ); - } - - if ( - options.containerCssClass != null || - options.containerCss != null || - options.adaptContainerCssClass != null - ) { - var ContainerCSS = require(options.amdBase + 'compat/containerCss'); - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - ContainerCSS - ); - } - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - EventRelay - ); - } - - if (typeof options.language === 'string') { - // Check if the language is specified with a region - if (options.language.indexOf('-') > 0) { - // Extract the region information if it is included - var languageParts = options.language.split('-'); - var baseLanguage = languageParts[0]; - - options.language = [options.language, baseLanguage]; - } else { - options.language = [options.language]; - } - } - - if ($.isArray(options.language)) { - var languages = new Translation(); - options.language.push('en'); - - var languageNames = options.language; - - for (var l = 0; l < languageNames.length; l++) { - var name = languageNames[l]; - var language = {}; - - try { - // Try to load it with the original name - language = Translation.loadPath(name); - } catch (e) { - try { - // If we couldn't load it, check if it wasn't the full path - name = this.defaults.amdLanguageBase + name; - language = Translation.loadPath(name); - } catch (ex) { - // The translation could not be loaded at all. Sometimes this is - // because of a configuration problem, other times this can be - // because of how Select2 helps load all possible translation files. - if (options.debug && window.console && console.warn) { - console.warn( - 'Select2: The language file for "' + name + '" could not be ' + - 'automatically loaded. A fallback will be used instead.' - ); - } - - continue; - } - } - - languages.extend(language); - } - - options.translations = languages; - } else { - var baseTranslation = Translation.loadPath( - this.defaults.amdLanguageBase + 'en' - ); - var customTranslation = new Translation(options.language); - - customTranslation.extend(baseTranslation); - - options.translations = customTranslation; - } - - return options; - }; - - Defaults.prototype.reset = function () { - function stripDiacritics (text) { - // Used 'uni range + named function' from http://jsperf.com/diacritics/18 - function match(a) { - return DIACRITICS[a] || a; - } - - return text.replace(/[^\u0000-\u007E]/g, match); - } - - function matcher (params, data) { - // Always return the object if there is nothing to compare - if ($.trim(params.term) === '') { - return data; - } - - // Do a recursive check for options with children - if (data.children && data.children.length > 0) { - // Clone the data object if there are children - // This is required as we modify the object to remove any non-matches - var match = $.extend(true, {}, data); - - // Check each child of the option - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - var matches = matcher(params, child); - - // If there wasn't a match, remove the object in the array - if (matches == null) { - match.children.splice(c, 1); - } - } - - // If any children matched, return the new object - if (match.children.length > 0) { - return match; - } - - // If there were no matching children, check just the plain object - return matcher(params, match); - } - - var original = stripDiacritics(data.text).toUpperCase(); - var term = stripDiacritics(params.term).toUpperCase(); - - // Check if the text contains the term - if (original.indexOf(term) > -1) { - return data; - } - - // If it doesn't contain the term, don't return anything - return null; - } - - this.defaults = { - amdBase: './', - amdLanguageBase: './i18n/', - closeOnSelect: true, - debug: false, - dropdownAutoWidth: false, - escapeMarkup: Utils.escapeMarkup, - language: EnglishTranslation, - matcher: matcher, - minimumInputLength: 0, - maximumInputLength: 0, - maximumSelectionLength: 0, - minimumResultsForSearch: 0, - selectOnClose: false, - sorter: function (data) { - return data; - }, - templateResult: function (result) { - return result.text; - }, - templateSelection: function (selection) { - return selection.text; - }, - theme: 'default', - width: 'resolve' - }; - }; - - Defaults.prototype.set = function (key, value) { - var camelKey = $.camelCase(key); - - var data = {}; - data[camelKey] = value; - - var convertedData = Utils._convertData(data); - - $.extend(this.defaults, convertedData); - }; - - var defaults = new Defaults(); - - return defaults; -}); - -S2.define('select2/options',[ - 'require', - 'jquery', - './defaults', - './utils' -], function (require, $, Defaults, Utils) { - function Options (options, $element) { - this.options = options; - - if ($element != null) { - this.fromElement($element); - } - - this.options = Defaults.apply(this.options); - - if ($element && $element.is('input')) { - var InputCompat = require(this.get('amdBase') + 'compat/inputData'); - - this.options.dataAdapter = Utils.Decorate( - this.options.dataAdapter, - InputCompat - ); - } - } - - Options.prototype.fromElement = function ($e) { - var excludedData = ['select2']; - - if (this.options.multiple == null) { - this.options.multiple = $e.prop('multiple'); - } - - if (this.options.disabled == null) { - this.options.disabled = $e.prop('disabled'); - } - - if (this.options.language == null) { - if ($e.prop('lang')) { - this.options.language = $e.prop('lang').toLowerCase(); - } else if ($e.closest('[lang]').prop('lang')) { - this.options.language = $e.closest('[lang]').prop('lang'); - } - } - - if (this.options.dir == null) { - if ($e.prop('dir')) { - this.options.dir = $e.prop('dir'); - } else if ($e.closest('[dir]').prop('dir')) { - this.options.dir = $e.closest('[dir]').prop('dir'); - } else { - this.options.dir = 'ltr'; - } - } - - $e.prop('disabled', this.options.disabled); - $e.prop('multiple', this.options.multiple); - - if ($e.data('select2Tags')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-select2-tags` attribute has been changed to ' + - 'use the `data-data` and `data-tags="true"` attributes and will be ' + - 'removed in future versions of Select2.' - ); - } - - $e.data('data', $e.data('select2Tags')); - $e.data('tags', true); - } - - if ($e.data('ajaxUrl')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-ajax-url` attribute has been changed to ' + - '`data-ajax--url` and support for the old attribute will be removed' + - ' in future versions of Select2.' - ); - } - - $e.attr('ajax--url', $e.data('ajaxUrl')); - $e.data('ajax--url', $e.data('ajaxUrl')); - } - - var dataset = {}; - - // Prefer the element's `dataset` attribute if it exists - // jQuery 1.x does not correctly handle data attributes with multiple dashes - if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { - dataset = $.extend(true, {}, $e[0].dataset, $e.data()); - } else { - dataset = $e.data(); - } - - var data = $.extend(true, {}, dataset); - - data = Utils._convertData(data); - - for (var key in data) { - if ($.inArray(key, excludedData) > -1) { - continue; - } - - if ($.isPlainObject(this.options[key])) { - $.extend(this.options[key], data[key]); - } else { - this.options[key] = data[key]; - } - } - - return this; - }; - - Options.prototype.get = function (key) { - return this.options[key]; - }; - - Options.prototype.set = function (key, val) { - this.options[key] = val; - }; - - return Options; -}); - -S2.define('select2/core',[ - 'jquery', - './options', - './utils', - './keys' -], function ($, Options, Utils, KEYS) { - var Select2 = function ($element, options) { - if ($element.data('select2') != null) { - $element.data('select2').destroy(); - } - - this.$element = $element; - - this.id = this._generateId($element); - - options = options || {}; - - this.options = new Options(options, $element); - - Select2.__super__.constructor.call(this); - - // Set up the tabindex - - var tabindex = $element.attr('tabindex') || 0; - $element.data('old-tabindex', tabindex); - $element.attr('tabindex', '-1'); - - // Set up containers and adapters - - var DataAdapter = this.options.get('dataAdapter'); - this.dataAdapter = new DataAdapter($element, this.options); - - var $container = this.render(); - - this._placeContainer($container); - - var SelectionAdapter = this.options.get('selectionAdapter'); - this.selection = new SelectionAdapter($element, this.options); - this.$selection = this.selection.render(); - - this.selection.position(this.$selection, $container); - - var DropdownAdapter = this.options.get('dropdownAdapter'); - this.dropdown = new DropdownAdapter($element, this.options); - this.$dropdown = this.dropdown.render(); - - this.dropdown.position(this.$dropdown, $container); - - var ResultsAdapter = this.options.get('resultsAdapter'); - this.results = new ResultsAdapter($element, this.options, this.dataAdapter); - this.$results = this.results.render(); - - this.results.position(this.$results, this.$dropdown); - - // Bind events - - var self = this; - - // Bind the container to all of the adapters - this._bindAdapters(); - - // Register any DOM event handlers - this._registerDomEvents(); - - // Register any internal event handlers - this._registerDataEvents(); - this._registerSelectionEvents(); - this._registerDropdownEvents(); - this._registerResultsEvents(); - this._registerEvents(); - - // Set the initial state - this.dataAdapter.current(function (initialData) { - self.trigger('selection:update', { - data: initialData - }); - }); - - // Hide the original select - $element.addClass('select2-hidden-accessible'); - $element.attr('aria-hidden', 'true'); - - // Synchronize any monitored attributes - this._syncAttributes(); - - $element.data('select2', this); - }; - - Utils.Extend(Select2, Utils.Observable); - - Select2.prototype._generateId = function ($element) { - var id = ''; - - if ($element.attr('id') != null) { - id = $element.attr('id'); - } else if ($element.attr('name') != null) { - id = $element.attr('name') + '-' + Utils.generateChars(2); - } else { - id = Utils.generateChars(4); - } - - id = 'select2-' + id; - - return id; - }; - - Select2.prototype._placeContainer = function ($container) { - $container.insertAfter(this.$element); - - var width = this._resolveWidth(this.$element, this.options.get('width')); - - if (width != null) { - $container.css('width', width); - } - }; - - Select2.prototype._resolveWidth = function ($element, method) { - var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; - - if (method == 'resolve') { - var styleWidth = this._resolveWidth($element, 'style'); - - if (styleWidth != null) { - return styleWidth; - } - - return this._resolveWidth($element, 'element'); - } - - if (method == 'element') { - var elementWidth = $element.outerWidth(false); - - if (elementWidth <= 0) { - return 'auto'; - } - - return elementWidth + 'px'; - } - - if (method == 'style') { - var style = $element.attr('style'); - - if (typeof(style) !== 'string') { - return null; - } - - var attrs = style.split(';'); - - for (var i = 0, l = attrs.length; i < l; i = i + 1) { - var attr = attrs[i].replace(/\s/g, ''); - var matches = attr.match(WIDTH); - - if (matches !== null && matches.length >= 1) { - return matches[1]; - } - } - - return null; - } - - return method; - }; - - Select2.prototype._bindAdapters = function () { - this.dataAdapter.bind(this, this.$container); - this.selection.bind(this, this.$container); - - this.dropdown.bind(this, this.$container); - this.results.bind(this, this.$container); - }; - - Select2.prototype._registerDomEvents = function () { - var self = this; - - this.$element.on('change.select2', function () { - self.dataAdapter.current(function (data) { - self.trigger('selection:update', { - data: data - }); - }); - }); - - this._sync = Utils.bind(this._syncAttributes, this); - - if (this.$element[0].attachEvent) { - this.$element[0].attachEvent('onpropertychange', this._sync); - } - - var observer = window.MutationObserver || - window.WebKitMutationObserver || - window.MozMutationObserver - ; - - if (observer != null) { - this._observer = new observer(function (mutations) { - $.each(mutations, self._sync); - }); - this._observer.observe(this.$element[0], { - attributes: true, - subtree: false - }); - } else if (this.$element[0].addEventListener) { - this.$element[0].addEventListener('DOMAttrModified', self._sync, false); - } - }; - - Select2.prototype._registerDataEvents = function () { - var self = this; - - this.dataAdapter.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerSelectionEvents = function () { - var self = this; - var nonRelayEvents = ['toggle']; - - this.selection.on('toggle', function () { - self.toggleDropdown(); - }); - - this.selection.on('*', function (name, params) { - if ($.inArray(name, nonRelayEvents) !== -1) { - return; - } - - self.trigger(name, params); - }); - }; - - Select2.prototype._registerDropdownEvents = function () { - var self = this; - - this.dropdown.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerResultsEvents = function () { - var self = this; - - this.results.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerEvents = function () { - var self = this; - - this.on('open', function () { - self.$container.addClass('select2-container--open'); - }); - - this.on('close', function () { - self.$container.removeClass('select2-container--open'); - }); - - this.on('enable', function () { - self.$container.removeClass('select2-container--disabled'); - }); - - this.on('disable', function () { - self.$container.addClass('select2-container--disabled'); - }); - - this.on('focus', function () { - self.$container.addClass('select2-container--focus'); - }); - - this.on('blur', function () { - self.$container.removeClass('select2-container--focus'); - }); - - this.on('query', function (params) { - if (!self.isOpen()) { - self.trigger('open'); - } - - this.dataAdapter.query(params, function (data) { - self.trigger('results:all', { - data: data, - query: params - }); - }); - }); - - this.on('query:append', function (params) { - this.dataAdapter.query(params, function (data) { - self.trigger('results:append', { - data: data, - query: params - }); - }); - }); - - this.on('keypress', function (evt) { - var key = evt.which; - - if (self.isOpen()) { - if (key === KEYS.ENTER) { - self.trigger('results:select'); - - evt.preventDefault(); - } else if ((key === KEYS.SPACE && evt.ctrlKey)) { - self.trigger('results:toggle'); - - evt.preventDefault(); - } else if (key === KEYS.UP) { - self.trigger('results:previous'); - - evt.preventDefault(); - } else if (key === KEYS.DOWN) { - self.trigger('results:next'); - - evt.preventDefault(); - } else if (key === KEYS.ESC || key === KEYS.TAB) { - self.close(); - - evt.preventDefault(); - } - } else { - if (key === KEYS.ENTER || key === KEYS.SPACE || - ((key === KEYS.DOWN || key === KEYS.UP) && evt.altKey)) { - self.open(); - - evt.preventDefault(); - } - } - }); - }; - - Select2.prototype._syncAttributes = function () { - this.options.set('disabled', this.$element.prop('disabled')); - - if (this.options.get('disabled')) { - if (this.isOpen()) { - this.close(); - } - - this.trigger('disable'); - } else { - this.trigger('enable'); - } - }; - - /** - * Override the trigger method to automatically trigger pre-events when - * there are events that can be prevented. - */ - Select2.prototype.trigger = function (name, args) { - var actualTrigger = Select2.__super__.trigger; - var preTriggerMap = { - 'open': 'opening', - 'close': 'closing', - 'select': 'selecting', - 'unselect': 'unselecting' - }; - - if (name in preTriggerMap) { - var preTriggerName = preTriggerMap[name]; - var preTriggerArgs = { - prevented: false, - name: name, - args: args - }; - - actualTrigger.call(this, preTriggerName, preTriggerArgs); - - if (preTriggerArgs.prevented) { - args.prevented = true; - - return; - } - } - - actualTrigger.call(this, name, args); - }; - - Select2.prototype.toggleDropdown = function () { - if (this.options.get('disabled')) { - return; - } - - if (this.isOpen()) { - this.close(); - } else { - this.open(); - } - }; - - Select2.prototype.open = function () { - if (this.isOpen()) { - return; - } - - this.trigger('query', {}); - - this.trigger('open'); - }; - - Select2.prototype.close = function () { - if (!this.isOpen()) { - return; - } - - this.trigger('close'); - }; - - Select2.prototype.isOpen = function () { - return this.$container.hasClass('select2-container--open'); - }; - - Select2.prototype.enable = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("enable")` method has been deprecated and will' + - ' be removed in later Select2 versions. Use $element.prop("disabled")' + - ' instead.' - ); - } - - if (args == null || args.length === 0) { - args = [true]; - } - - var disabled = !args[0]; - - this.$element.prop('disabled', disabled); - }; - - Select2.prototype.data = function () { - if (this.options.get('debug') && - arguments.length > 0 && window.console && console.warn) { - console.warn( - 'Select2: Data can no longer be set using `select2("data")`. You ' + - 'should consider setting the value instead using `$element.val()`.' - ); - } - - var data = []; - - this.dataAdapter.current(function (currentData) { - data = currentData; - }); - - return data; - }; - - Select2.prototype.val = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("val")` method has been deprecated and will be' + - ' removed in later Select2 versions. Use $element.val() instead.' - ); - } - - if (args == null || args.length === 0) { - return this.$element.val(); - } - - var newVal = args[0]; - - if ($.isArray(newVal)) { - newVal = $.map(newVal, function (obj) { - return obj.toString(); - }); - } - - this.$element.val(newVal).trigger('change'); - }; - - Select2.prototype.destroy = function () { - this.$container.remove(); - - if (this.$element[0].detachEvent) { - this.$element[0].detachEvent('onpropertychange', this._sync); - } - - if (this._observer != null) { - this._observer.disconnect(); - this._observer = null; - } else if (this.$element[0].removeEventListener) { - this.$element[0] - .removeEventListener('DOMAttrModified', this._sync, false); - } - - this._sync = null; - - this.$element.off('.select2'); - this.$element.attr('tabindex', this.$element.data('old-tabindex')); - - this.$element.removeClass('select2-hidden-accessible'); - this.$element.attr('aria-hidden', 'false'); - this.$element.removeData('select2'); - - this.dataAdapter.destroy(); - this.selection.destroy(); - this.dropdown.destroy(); - this.results.destroy(); - - this.dataAdapter = null; - this.selection = null; - this.dropdown = null; - this.results = null; - }; - - Select2.prototype.render = function () { - var $container = $( - '' + - '' + - '' + - '' - ); - - $container.attr('dir', this.options.get('dir')); - - this.$container = $container; - - this.$container.addClass('select2-container--' + this.options.get('theme')); - - $container.data('element', this.$element); - - return $container; - }; - - return Select2; -}); - -S2.define('jquery.select2',[ - 'jquery', - 'require', - - './select2/core', - './select2/defaults' -], function ($, require, Select2, Defaults) { - // Force jQuery.mousewheel to be loaded if it hasn't already - require('jquery.mousewheel'); - - if ($.fn.select2 == null) { - // All methods that should return the element - var thisMethods = ['open', 'close', 'destroy']; - - $.fn.select2 = function (options) { - options = options || {}; - - if (typeof options === 'object') { - this.each(function () { - var instanceOptions = $.extend({}, options, true); - - var instance = new Select2($(this), instanceOptions); - }); - - return this; - } else if (typeof options === 'string') { - var instance = this.data('select2'); - - if (instance == null && window.console && console.error) { - console.error( - 'The select2(\'' + options + '\') method was called on an ' + - 'element that is not using Select2.' - ); - } - - var args = Array.prototype.slice.call(arguments, 1); - - var ret = instance[options](args); - - // Check if we should be returning `this` - if ($.inArray(options, thisMethods) > -1) { - return this; - } - - return ret; - } else { - throw new Error('Invalid arguments for Select2: ' + options); - } - }; - } - - if ($.fn.select2.defaults == null) { - $.fn.select2.defaults = Defaults; - } - - return Select2; -}); - -S2.define('jquery.mousewheel',[ - 'jquery' -], function ($) { - // Used to shim jQuery.mousewheel for non-full builds. - return $; -}); - - // Return the AMD loader configuration so it can be used outside of this file - return { - define: S2.define, - require: S2.require - }; -}()); - - // Autoload the jQuery bindings - // We know that all of the modules exist above this, so we're safe - var select2 = S2.require('jquery.select2'); - - // Hold the AMD module references on the jQuery function that was just loaded - // This allows Select2 to use the internal loader outside of this file, such - // as in the language files. - jQuery.fn.select2.amd = S2; - - // Return the Select2 instance for anyone who is importing it. - return select2; -})); diff --git a/modules/system/classes/UpdateManager.php b/modules/system/classes/UpdateManager.php index c42021401..ee3984098 100644 --- a/modules/system/classes/UpdateManager.php +++ b/modules/system/classes/UpdateManager.php @@ -209,6 +209,7 @@ class UpdateManager $versions = $installed->lists('version', 'code'); $names = $installed->lists('name', 'code'); $icons = $installed->lists('icon', 'code'); + $frozen = $installed->lists('is_frozen', 'code'); $build = Parameters::get('system::core.build'); $params = [ @@ -241,7 +242,17 @@ class UpdateManager $info['name'] = isset($names[$code]) ? $names[$code] : $code; $info['old_version'] = isset($versions[$code]) ? $versions[$code] : false; $info['icon'] = isset($icons[$code]) ? $icons[$code] : false; - $plugins[$code] = $info; + + /* + * If plugin has updates frozen, do not add it to the list + * and discount an update unit. + */ + if (isset($frozen[$code]) && $frozen[$code]) { + $updateCount = max(0, --$updateCount); + } + else { + $plugins[$code] = $info; + } } $result['plugins'] = $plugins; diff --git a/modules/system/controllers/Updates.php b/modules/system/controllers/Updates.php index 39d00edd8..dddd6b744 100644 --- a/modules/system/controllers/Updates.php +++ b/modules/system/controllers/Updates.php @@ -2,10 +2,12 @@ use Str; use Lang; +use Html; use File; use Flash; use Config; use Backend; +use Markdown; use Redirect; use Response; use BackendMenu; @@ -98,6 +100,71 @@ class Updates extends Controller } } + public function details($urlCode = null, $tab = null) + { + try { + $this->pageTitle = 'Plugin details'; + $this->addCss('/modules/system/assets/css/updates/details.css', 'core'); + + $readmeFiles = ['README.md', 'readme.md']; + $upgradeFiles = ['UPGRADE.md', 'upgrade.md']; + + $upgrades = $readme = $name = null; + $code = str_replace('-', '.', $urlCode); + + /* + * Lookup the plugin + */ + $manager = PluginManager::instance(); + $plugin = $manager->findByIdentifier($code); + $code = $manager->getIdentifier($plugin); + $path = $manager->getPluginPath($plugin); + + if ($path && $plugin) { + $details = $plugin->pluginDetails(); + $readme = $this->getPluginMarkdownFile($path, $readmeFiles); + $upgrades = $this->getPluginMarkdownFile($path, $upgradeFiles); + + $pluginVersion = PluginVersion::whereCode($code)->first(); + $this->vars['pluginName'] = array_get($details, 'name', 'system::lang.plugin.unnamed'); + $this->vars['pluginVersion'] = $pluginVersion->version; + $this->vars['pluginAuthor'] = array_get($details, 'author'); + $this->vars['pluginIcon'] = array_get($details, 'icon', 'icon-leaf'); + $this->vars['pluginHomepage'] = array_get($details, 'homepage'); + } + else { + throw new ApplicationException('Plugin not found'); + } + + $this->vars['activeTab'] = $tab ?: 'readme'; + $this->vars['urlCode'] = $urlCode; + $this->vars['upgrades'] = $upgrades; + $this->vars['readme'] = $readme; + } + catch (Exception $ex) { + $this->handleError($ex); + } + } + + protected function getPluginMarkdownFile($path, $filenames) + { + $contents = null; + foreach ($filenames as $file) { + if (!File::exists($path . '/'.$file)) continue; + + $contents = File::get($path . '/'.$file); + + /* + * Parse markdown, clean HTML, remove first H1 tag + */ + $contents = Markdown::parse($contents); + $contents = Html::clean($contents); + $contents = preg_replace('@]*?>.*?<\/h1>@si', '', $contents, 1); + } + + return $contents; + } + /** * {@inheritDoc} */ @@ -119,6 +186,10 @@ class Updates extends Controller return 'negative'; } + if ($record->is_frozen) { + return 'frozen'; + } + return 'positive'; } @@ -193,8 +264,11 @@ class Updates extends Controller $manager = UpdateManager::instance(); $result = $manager->requestUpdateList(); + $result = $this->processImportantUpdates($result); + $this->vars['core'] = array_get($result, 'core', false); $this->vars['hasUpdates'] = array_get($result, 'hasUpdates', false); + $this->vars['hasImportantUpdates'] = array_get($result, 'hasImportantUpdates', false); $this->vars['pluginList'] = array_get($result, 'plugins', []); $this->vars['themeList'] = array_get($result, 'themes', []); } @@ -205,6 +279,31 @@ class Updates extends Controller return ['#updateContainer' => $this->makePartial('update_list')]; } + /** + * Loops the update list and checks for actionable updates. + */ + protected function processImportantUpdates($result) + { + $hasImportantUpdates = false; + foreach (array_get($result, 'plugins', []) as $code => $plugin) { + $isImportant = false; + + foreach (array_get($plugin, 'updates', []) as $version => $description) { + if (strpos($description, '!!!') === false) continue; + + $isImportant = $hasImportantUpdates = true; + $detailsUrl = Backend::url('system/updates/details/'.strtolower(str_replace('.', '-', $code)).'/upgrades'); + $description = str_replace('!!!', '', $description); + $result['plugins'][$code]['updates'][$version] = [$description, $detailsUrl]; + } + + $result['plugins'][$code]['isImportant'] = $isImportant ? '1' : '0'; + } + + $result['hasImportantUpdates'] = $hasImportantUpdates; + return $result; + } + /** * Contacts the update server for a list of necessary updates. */ @@ -258,20 +357,69 @@ class Updates extends Controller public function onApplyUpdates() { try { + /* + * Process core + */ $coreHash = post('hash'); $coreBuild = post('build'); $core = [$coreHash, $coreBuild]; - $plugins = post('plugins', []); - if (!is_array($plugins)) { + /* + * Process plugins + */ + $plugins = post('plugins'); + if (is_array($plugins)) { + $pluginCodes = []; + foreach ($plugins as $code => $hash) { + $pluginCodes[] = $this->decodeCode($code); + } + + $plugins = array_combine($pluginCodes, $plugins); + } + else { $plugins = []; } - $themes = post('themes', []); - if (!is_array($themes)) { + /* + * Process themes + */ + $themes = post('themes'); + if (is_array($themes)) { + $themeCodes = []; + foreach ($themes as $code => $hash) { + $themeCodes[] = $this->decodeCode($code); + } + + $themes = array_combine($themeCodes, $themes); + } + else { $themes = []; } + /* + * Process important update actions + */ + $pluginActions = (array) post('plugin_actions'); + foreach ($plugins as $code => $hash) { + $_code = $this->encodeCode($code); + if (!array_key_exists($_code, $pluginActions)) continue; + $pluginAction = $pluginActions[$_code]; + + if (!$pluginAction) { + throw new ApplicationException('Please select an action for plugin '. $code); + } + + if ($pluginAction != 'confirm') { + unset($plugins[$code]); + } + + if ($pluginAction == 'ignore') { + PluginVersion::whereCode($code)->update([ + 'is_frozen' => true + ]); + } + } + /* * Update steps */ @@ -546,6 +694,7 @@ class Updates extends Controller public function onDisablePlugins() { $disable = post('disable', false); + $freeze = post('freeze', false); if (($checkedIds = post('checked')) && is_array($checkedIds) && count($checkedIds)) { $manager = PluginManager::instance(); @@ -563,6 +712,7 @@ class Updates extends Controller } $object->is_disabled = $disable; + $object->is_frozen = $freeze; $object->save(); } @@ -727,4 +877,23 @@ class Updates extends Controller return array_values($popular); } + // + // Helpers + // + + /** + * Encode HTML safe product code. + */ + protected function encodeCode($code) + { + return str_replace('.', '_', $code); + } + + /** + * Decode HTML safe product code. + */ + protected function decodeCode($code) + { + return str_replace('_', '.', $code); + } } diff --git a/modules/system/controllers/mailtemplates/index.htm b/modules/system/controllers/mailtemplates/index.htm index 6d3cf5ad4..dae323ad6 100644 --- a/modules/system/controllers/mailtemplates/index.htm +++ b/modules/system/controllers/mailtemplates/index.htm @@ -12,4 +12,3 @@
          - diff --git a/modules/system/controllers/updates/_column_code.htm b/modules/system/controllers/updates/_column_code.htm new file mode 100644 index 000000000..1aa7f0e24 --- /dev/null +++ b/modules/system/controllers/updates/_column_code.htm @@ -0,0 +1,19 @@ +is_disabled) { + $icon = 'eye-slash'; + } + elseif ($record->disabledBySystem) { + $icon = 'exclamation'; + } + elseif ($record->orphaned) { + $icon = 'question'; + } + elseif ($record->is_frozen) { + $icon = 'lock'; + } +?> + + + \ No newline at end of file diff --git a/modules/system/controllers/updates/_disable_form.htm b/modules/system/controllers/updates/_disable_form.htm index 1bb8fd4e1..997ed6247 100644 --- a/modules/system/controllers/updates/_disable_form.htm +++ b/modules/system/controllers/updates/_disable_form.htm @@ -28,6 +28,21 @@ +
          + +
          + + +

          +
          +
          + diff --git a/modules/system/controllers/updates/_list_manage_toolbar.htm b/modules/system/controllers/updates/_list_manage_toolbar.htm index f0bc448c5..29a981773 100644 --- a/modules/system/controllers/updates/_list_manage_toolbar.htm +++ b/modules/system/controllers/updates/_list_manage_toolbar.htm @@ -1,4 +1,7 @@
          + + +